fix: labels from config.yml take precedence
Fixes: https://code.forgejo.org/forgejo/runner/issues/174
This commit is contained in:
parent
8a2d4cb7cb
commit
43a8a402f4
3 changed files with 6 additions and 7 deletions
|
@ -96,7 +96,7 @@ func Test_runCreateRunnerFile(t *testing.T) {
|
|||
//
|
||||
// Read back the runner file and verify its content
|
||||
//
|
||||
reg, err := config.LoadRegistration(runnerFile)
|
||||
reg, err := config.LoadRegistration(runnerFile, cfg.Runner.Labels)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, secret, reg.Token)
|
||||
assert.EqualValues(t, instance, reg.Address)
|
||||
|
|
|
@ -37,7 +37,7 @@ func runDaemon(ctx context.Context, configFile *string) func(cmd *cobra.Command,
|
|||
initLogging(cfg)
|
||||
log.Infoln("Starting runner daemon")
|
||||
|
||||
reg, err := config.LoadRegistration(cfg.Runner.File)
|
||||
reg, err := config.LoadRegistration(cfg.Runner.File, cfg.Runner.Labels)
|
||||
if os.IsNotExist(err) {
|
||||
log.Error("registration file not found, please register the runner first")
|
||||
return err
|
||||
|
@ -48,10 +48,6 @@ func runDaemon(ctx context.Context, configFile *string) func(cmd *cobra.Command,
|
|||
cfg.Tune(reg.Address)
|
||||
|
||||
lbls := reg.Labels
|
||||
if len(cfg.Runner.Labels) > 0 {
|
||||
lbls = cfg.Runner.Labels
|
||||
}
|
||||
|
||||
ls := labels.Labels{}
|
||||
for _, l := range lbls {
|
||||
label, err := labels.Parse(l)
|
||||
|
|
|
@ -22,7 +22,7 @@ type Registration struct {
|
|||
Labels []string `json:"labels"`
|
||||
}
|
||||
|
||||
func LoadRegistration(file string) (*Registration, error) {
|
||||
func LoadRegistration(file string, labels []string) (*Registration, error) {
|
||||
f, err := os.Open(file)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -34,6 +34,9 @@ func LoadRegistration(file string) (*Registration, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if len(labels) > 0 {
|
||||
reg.Labels = labels
|
||||
}
|
||||
reg.Warning = ""
|
||||
|
||||
return ®, nil
|
||||
|
|
Loading…
Reference in a new issue