2 Commits

Author SHA1 Message Date
Christopher Homberger
d4c46e538e add strategy 2026-02-20 21:44:30 +01:00
Christopher Homberger
ae82ca2e97 adapt 2026-02-20 21:37:36 +01:00
3 changed files with 21 additions and 14 deletions

View File

@@ -25,6 +25,16 @@ import (
"golang.org/x/term" "golang.org/x/term"
) )
type JobLoggerFactoryWithInfoLevel struct {
}
// WithJobLogger implements [runner.JobLoggerFactory].
func (j *JobLoggerFactoryWithInfoLevel) WithJobLogger() *log.Logger {
jobLogger := log.New()
jobLogger.SetLevel(log.InfoLevel)
return jobLogger
}
type executeArgs struct { type executeArgs struct {
runList bool runList bool
job string job string
@@ -449,10 +459,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command
} }
// TODO GITEA // TODO GITEA
// if !execArgs.debug { ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerFactoryWithInfoLevel{})
// logLevel := log.InfoLevel
// config.JobLoggerLevel = &logLevel
// }
r, err := runner.New(config) r, err := runner.New(config)
if err != nil { if err != nil {

View File

@@ -7,6 +7,7 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
@@ -30,13 +31,18 @@ import (
) )
type JobLoggerFactory struct { type JobLoggerFactory struct {
reporter *report.Reporter reporter *report.Reporter
logToTerminal bool
} }
// WithJobLogger implements [runner.JobLoggerFactory]. // WithJobLogger implements [runner.JobLoggerFactory].
func (j *JobLoggerFactory) WithJobLogger() *log.Logger { func (j *JobLoggerFactory) WithJobLogger() *log.Logger {
jobLogger := logrus.New() jobLogger := logrus.New()
jobLogger.SetOutput(os.Stdout) if j.logToTerminal {
jobLogger.SetOutput(os.Stdout)
} else {
jobLogger.SetOutput(io.Discard)
}
jobLogger.AddHook(j.reporter) jobLogger.AddHook(j.reporter)
return jobLogger return jobLogger
} }
@@ -283,13 +289,7 @@ func (r *Runner) run(ctx context.Context, task *runnerv1.Task, reporter *report.
reporter.Logf("workflow prepared") reporter.Logf("workflow prepared")
// TODO GITEA // TODO GITEA
// // add logger recorders ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerFactory{reporter: reporter, logToTerminal: log.IsLevelEnabled(log.DebugLevel)})
// ctx = common.WithLoggerHook(ctx, reporter)
ctx = runner.WithJobLoggerFactory(ctx, &JobLoggerFactory{reporter: reporter})
// if !log.IsLevelEnabled(log.DebugLevel) {
// ctx = runner.WithJobLoggerFactory(ctx, NullLogger{})
// }
execErr := executor(ctx) execErr := executor(ctx)
reporter.SetOutputs(job.Outputs) reporter.SetOutputs(job.Outputs)

View File

@@ -22,7 +22,7 @@ func generateWorkflow(task *runnerv1.Task) (*model.Workflow, string, error) {
Schema: &schema.Schema{ Schema: &schema.Schema{
Definitions: map[string]schema.Definition{ Definitions: map[string]schema.Definition{
"workflow-root": { "workflow-root": {
Context: []string{"github", "gitea", "env", "job", "matrix", "inputs", "vars", "runner", "steps"}, Context: []string{"github", "gitea", "env", "job", "matrix", "strategy", "inputs", "vars", "runner", "steps"},
OneOf: &[]string{"any"}, OneOf: &[]string{"any"},
}, },
}, },