From 8eea12dd7867383d24babc24899d1a8101fbfee2 Mon Sep 17 00:00:00 2001 From: telackey Date: Wed, 29 Mar 2023 09:42:53 +0800 Subject: [PATCH] Add CLI flag for specifying the Docker image to use. (#83) Since the `exec` command does not use labels from `.runner`, there is no existing way to specify which Docker image to use for task execution. This adds an `--image` flag for specifying it manually. The default remains `node:16-bullseye`. Co-authored-by: Lunny Xiao Reviewed-on: https://gitea.com/gitea/act_runner/pulls/83 Reviewed-by: Jason Song Reviewed-by: Lunny Xiao Co-authored-by: telackey Co-committed-by: telackey --- cmd/exec.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/exec.go b/cmd/exec.go index 7b20974..c4c3eb5 100644 --- a/cmd/exec.go +++ b/cmd/exec.go @@ -54,6 +54,7 @@ type executeArgs struct { noSkipCheckout bool debug bool dryrun bool + image string cacheHandler *artifactcache.Handler } @@ -385,7 +386,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command ContainerNetworkMode: "bridge", DefaultActionInstance: execArgs.defaultActionsUrl, PlatformPicker: func(_ []string) string { - return "node:16-bullseye" + return execArgs.image }, } @@ -461,6 +462,7 @@ func loadExecCmd(ctx context.Context) *cobra.Command { execCmd.PersistentFlags().BoolVarP(&execArg.noSkipCheckout, "no-skip-checkout", "", false, "Do not skip actions/checkout") execCmd.PersistentFlags().BoolVarP(&execArg.debug, "debug", "d", false, "enable debug log") execCmd.PersistentFlags().BoolVarP(&execArg.dryrun, "dryrun", "n", false, "dryrun mode") + execCmd.PersistentFlags().StringVarP(&execArg.image, "image", "i", "node:16-bullseye", "docker image to use") return execCmd }