fix: honor configured Docker registration file (#1259)

The Docker entrypoint always checked `.runner` in `/data` and ignored `runner.file` from `CONFIG_FILE`. When `runner.file` pointed elsewhere, it re-registered on every start, or skipped registration because of a stale `.runner`. It now reads the path from a new `config runner-file` subcommand, which resolves `runner.file` the same way as `register` and `daemon`.

Closes https://gitea.com/gitea/runner/issues/585

---------

Co-authored-by: silverwind <[email protected]>
Reviewed-on: https://gitea.com/gitea/runner/pulls/1259
Reviewed-by: silverwind <[email protected]>
This commit is contained in:
bircniandsilverwind committed 2026-09-29 18:38:35 +00:00
1 parent 5a38a3d0c4
commit bf03f36d5a
3 files changed
+25 -2

No files matched your search

+13
View File
@@ -27,6 +27,19 @@ func loadConfigCmd(configFile *string) *cobra.Command {
configCmd.AddCommand(loadGenerateConfigCmd("generate"))
configCmd.AddCommand(loadInitConfigCmd(configFile))
configCmd.AddCommand(&cobra.Command{
Use: "runner-file",
Short: "Print the registration file path used by the runner",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, _ []string) error {
cfg, err := config.LoadDefault(*configFile)
if err != nil {
return err
}
fmt.Fprintln(cmd.OutOrStdout(), cfg.Runner.File)
return nil
},
})
configCmd.AddCommand(&cobra.Command{
Use: "get <key>",