show workflow config error on file view also (#24267)
As title, follow #24124  --------- Signed-off-by: a1012112796 <1012112796@qq.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
							parent
							
								
									136d7492ff
								
							
						
					
					
						commit
						6bff6e3a1f
					
				
					 2 changed files with 20 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -29,6 +29,14 @@ func init() {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func IsWorkflow(path string) bool {
 | 
			
		||||
	if (!strings.HasSuffix(path, ".yaml")) && (!strings.HasSuffix(path, ".yml")) {
 | 
			
		||||
		return false
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return strings.HasPrefix(path, ".gitea/workflows") || strings.HasPrefix(path, ".github/workflows")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ListWorkflows(commit *git.Commit) (git.Entries, error) {
 | 
			
		||||
	tree, err := commit.SubTree(".gitea/workflows")
 | 
			
		||||
	if _, ok := err.(git.ErrNotExist); ok {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ import (
 | 
			
		|||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	unit_model "code.gitea.io/gitea/models/unit"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/actions"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/charset"
 | 
			
		||||
	"code.gitea.io/gitea/modules/container"
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +40,8 @@ import (
 | 
			
		|||
	"code.gitea.io/gitea/modules/typesniffer"
 | 
			
		||||
	"code.gitea.io/gitea/modules/util"
 | 
			
		||||
	"code.gitea.io/gitea/routers/web/feed"
 | 
			
		||||
 | 
			
		||||
	"github.com/nektos/act/pkg/model"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
| 
						 | 
				
			
			@ -348,6 +351,15 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 | 
			
		|||
		if issueConfigErr != nil {
 | 
			
		||||
			ctx.Data["FileError"] = strings.TrimSpace(issueConfigErr.Error())
 | 
			
		||||
		}
 | 
			
		||||
	} else if actions.IsWorkflow(ctx.Repo.TreePath) {
 | 
			
		||||
		content, err := actions.GetContentFromEntry(entry)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Error("actions.GetContentFromEntry: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
		_, workFlowErr := model.ReadWorkflow(bytes.NewReader(content))
 | 
			
		||||
		if workFlowErr != nil {
 | 
			
		||||
			ctx.Data["FileError"] = ctx.Locale.Tr("actions.runs.invalid_workflow_helper", workFlowErr.Error())
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	isDisplayingSource := ctx.FormString("display") == "source"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue