chore: flatten nested conf fields
This commit is contained in:
parent
9a109372f2
commit
7bd216efda
|
@ -183,20 +183,23 @@ func MatchGroups(conf *Conf, conventionalCommit *ConventionalCommit) []string {
|
|||
keywords := []string{}
|
||||
loweredCommitGroup := strings.ToLower(conventionalCommit.Group)
|
||||
if loweredCommitGroup == "all" {
|
||||
for i := range conf.Stage.PreStages {
|
||||
conf.Stage.PreStages[i].Group = ""
|
||||
for i := range conf.PreStages {
|
||||
conf.PreStages[i].Group = ""
|
||||
conf.PreStages[i].Groups = nil
|
||||
}
|
||||
for i := range conf.Stage.Stages {
|
||||
conf.Stage.Stages[i].Group = ""
|
||||
for i := range conf.Stages {
|
||||
conf.Stages[i].Group = ""
|
||||
conf.Stages[i].Groups = nil
|
||||
}
|
||||
for i := range conf.Stage.PostStages {
|
||||
conf.Stage.PostStages[i].Group = ""
|
||||
for i := range conf.PostStages {
|
||||
conf.PostStages[i].Group = ""
|
||||
conf.PostStages[i].Groups = nil
|
||||
}
|
||||
}
|
||||
confStages := []ConfStage{}
|
||||
confStages = append(confStages, conf.Stage.PreStages...)
|
||||
confStages = append(confStages, conf.Stage.Stages...)
|
||||
confStages = append(confStages, conf.Stage.PostStages...)
|
||||
confStages = append(confStages, conf.PreStages...)
|
||||
confStages = append(confStages, conf.Stages...)
|
||||
confStages = append(confStages, conf.PostStages...)
|
||||
for _, stage := range confStages {
|
||||
if stage.Group != "" {
|
||||
keyword := strings.ToLower(stage.Group)
|
||||
|
|
|
@ -22,14 +22,21 @@ type ConfStage struct {
|
|||
}
|
||||
|
||||
type Conf struct {
|
||||
Name string `default:"unknown"`
|
||||
LogPath string `default:""`
|
||||
ActorCsvPath string `default:""`
|
||||
MaxTotalScore int `default:"-1"`
|
||||
Stage struct {
|
||||
SandboxExecServer string `default:"localhost:5051"`
|
||||
SandboxToken string `default:""`
|
||||
OutputPath string `default:"joj3_result.json"`
|
||||
Name string `default:"unknown"`
|
||||
LogPath string `default:""`
|
||||
ActorCsvPath string `default:""`
|
||||
MaxTotalScore int `default:"-1"`
|
||||
SandboxExecServer string `default:"localhost:5051"`
|
||||
SandboxToken string `default:""`
|
||||
OutputPath string `default:"joj3_result.json"`
|
||||
PreStages []ConfStage
|
||||
Stages []ConfStage
|
||||
PostStages []ConfStage
|
||||
// TODO: remove this nested struct
|
||||
Stage struct {
|
||||
SandboxExecServer string
|
||||
SandboxToken string
|
||||
OutputPath string
|
||||
PreStages []ConfStage
|
||||
Stages []ConfStage
|
||||
PostStages []ConfStage
|
||||
|
|
|
@ -53,7 +53,7 @@ func getConf(commitMsg string) (*joj3Conf.Conf, *joj3Conf.ConventionalCommit, er
|
|||
return nil, nil, err
|
||||
}
|
||||
env.SetConfName(conf.Name)
|
||||
env.SetOutputPath(conf.Stage.OutputPath)
|
||||
env.SetOutputPath(conf.OutputPath)
|
||||
if err := showConfStat(confPath, confStat); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
@ -78,6 +78,31 @@ func loadConf(confPath string) (*joj3Conf.Conf, error) {
|
|||
slog.Error("parse conf", "error", err)
|
||||
return nil, err
|
||||
}
|
||||
// TODO: remove this compatible code for nested struct
|
||||
if conf.Stage.SandboxExecServer != "" {
|
||||
conf.SandboxExecServer = conf.Stage.SandboxExecServer
|
||||
conf.Stage.SandboxExecServer = ""
|
||||
}
|
||||
if conf.Stage.SandboxToken != "" {
|
||||
conf.SandboxToken = conf.Stage.SandboxToken
|
||||
conf.Stage.SandboxToken = ""
|
||||
}
|
||||
if conf.Stage.OutputPath != "" {
|
||||
conf.OutputPath = conf.Stage.OutputPath
|
||||
conf.Stage.OutputPath = ""
|
||||
}
|
||||
if len(conf.Stage.PreStages) > 0 {
|
||||
conf.PreStages = conf.Stage.PreStages
|
||||
conf.Stage.PreStages = nil
|
||||
}
|
||||
if len(conf.Stage.Stages) > 0 {
|
||||
conf.Stages = conf.Stage.Stages
|
||||
conf.Stage.Stages = nil
|
||||
}
|
||||
if len(conf.Stage.PostStages) > 0 {
|
||||
conf.PostStages = conf.Stage.PostStages
|
||||
conf.Stage.PostStages = nil
|
||||
}
|
||||
slog.Debug("conf loaded", "conf", conf, "joj3 version", Version)
|
||||
return conf, nil
|
||||
}
|
||||
|
|
|
@ -137,22 +137,22 @@ func runStages(
|
|||
stageResults []stage.StageResult, forceQuitStageName string, err error,
|
||||
) {
|
||||
executor.InitWithConf(
|
||||
conf.Stage.SandboxExecServer,
|
||||
conf.Stage.SandboxToken,
|
||||
conf.SandboxExecServer,
|
||||
conf.SandboxToken,
|
||||
)
|
||||
preStages, err := generateStages(conf.Stage.PreStages, groups)
|
||||
preStages, err := generateStages(conf.PreStages, groups)
|
||||
if err != nil {
|
||||
slog.Error("generate preStages", "error", err)
|
||||
stageResults, forceQuitStageName = newErrorStageResults(err)
|
||||
return stageResults, forceQuitStageName, err
|
||||
}
|
||||
stages, err := generateStages(conf.Stage.Stages, groups)
|
||||
stages, err := generateStages(conf.Stages, groups)
|
||||
if err != nil {
|
||||
slog.Error("generate stages", "error", err)
|
||||
stageResults, forceQuitStageName = newErrorStageResults(err)
|
||||
return stageResults, forceQuitStageName, err
|
||||
}
|
||||
postStages, err := generateStages(conf.Stage.PostStages, groups)
|
||||
postStages, err := generateStages(conf.PostStages, groups)
|
||||
if err != nil {
|
||||
slog.Error("generate postStages", "error", err)
|
||||
stageResults, forceQuitStageName = newErrorStageResults(err)
|
||||
|
@ -172,14 +172,14 @@ func runStages(
|
|||
stageResults, forceQuitStageName = newErrorStageResults(err)
|
||||
}
|
||||
onStagesComplete(stageResults, forceQuitStageName)
|
||||
slog.Info("output result start", "path", conf.Stage.OutputPath)
|
||||
slog.Info("output result start", "path", conf.OutputPath)
|
||||
slog.Debug("output result start",
|
||||
"path", conf.Stage.OutputPath, "results", stageResults)
|
||||
"path", conf.OutputPath, "results", stageResults)
|
||||
content, err := json.Marshal(stageResults)
|
||||
if err != nil {
|
||||
slog.Error("marshal stageResults", "error", err)
|
||||
}
|
||||
err = os.WriteFile(conf.Stage.OutputPath,
|
||||
err = os.WriteFile(conf.OutputPath,
|
||||
append(content, []byte("\n")...), 0o600)
|
||||
if err != nil {
|
||||
slog.Error("write stageResults", "error", err)
|
||||
|
|
Loading…
Reference in New Issue
Block a user