diff --git a/Makefile b/Makefile index cefd28b..dc8b477 100644 --- a/Makefile +++ b/Makefile @@ -46,7 +46,7 @@ STORED_VERSION_FILE := VERSION ifneq ($(DRONE_TAG),) VERSION ?= $(subst v,,$(DRONE_TAG)) - RELASE_VERSION ?= $(VERSION) + RELEASE_VERSION ?= $(VERSION) else ifneq ($(DRONE_BRANCH),) VERSION ?= $(subst release/v,,$(DRONE_BRANCH)) @@ -56,9 +56,9 @@ else STORED_VERSION=$(shell cat $(STORED_VERSION_FILE) 2>/dev/null) ifneq ($(STORED_VERSION),) - RELASE_VERSION ?= $(STORED_VERSION) + RELEASE_VERSION ?= $(STORED_VERSION) else - RELASE_VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//') + RELEASE_VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//') endif endif @@ -66,7 +66,7 @@ GO_PACKAGES_TO_VET ?= $(filter-out gitea.com/gitea/act_runner/internal/pkg/clien TAGS ?= -LDFLAGS ?= -X "gitea.com/gitea/act_runner/internal/pkg/ver.version=v$(RELASE_VERSION)" +LDFLAGS ?= -X "gitea.com/gitea/act_runner/internal/pkg/ver.version=v$(RELEASE_VERSION)" all: build diff --git a/README.md b/README.md index ccf2e8b..9d2a9b2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **WARNING:** this is [alpha release quality](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha) code and should not be considered secure enough to deploy in production. -A daemon that connects to a Forgejo instance and runs jobs for continous integration. The [installation and usage instructions](https://forgejo.org/docs/next/admin/actions/) are part of the Forgejo documentation. +A daemon that connects to a Forgejo instance and runs jobs for continuous integration. The [installation and usage instructions](https://forgejo.org/docs/next/admin/actions/) are part of the Forgejo documentation. # Reporting bugs diff --git a/examples/docker-compose/README.md b/examples/docker-compose/README.md index 5ffa339..cca3f36 100644 --- a/examples/docker-compose/README.md +++ b/examples/docker-compose/README.md @@ -36,7 +36,7 @@ Create a shared secret with: openssl rand -hex 20 ``` -Replace all occurences of {SHARED_SECRET} in +Replace all occurrences of {SHARED_SECRET} in [compose-forgejo-and-runner.yml](compose-forgejo-and-runner.yml). > **NOTE:** a token obtained from the Forgejo web interface cannot be used as a shared secret. diff --git a/examples/docker-compose/compose-forgejo-and-runner.yml b/examples/docker-compose/compose-forgejo-and-runner.yml index 5d3040b..d0da22a 100644 --- a/examples/docker-compose/compose-forgejo-and-runner.yml +++ b/examples/docker-compose/compose-forgejo-and-runner.yml @@ -6,7 +6,7 @@ # # openssl rand -hex 20 # -# Replace all occurences of {SHARED_SECRET} below with the output. +# Replace all occurrences of {SHARED_SECRET} below with the output. # # NOTE: a token obtained from the Forgejo web interface cannot be used # as a shared secret. diff --git a/examples/kubernetes/dind-docker.yaml b/examples/kubernetes/dind-docker.yaml index 4dd2979..4f978eb 100644 --- a/examples/kubernetes/dind-docker.yaml +++ b/examples/kubernetes/dind-docker.yaml @@ -1,5 +1,5 @@ # Secret data. -# You will need to retrive this from the web UI, and your Forgejo instance must be running v1.21+ +# You will need to retrieve this from the web UI, and your Forgejo instance must be running v1.21+ # Alternatively, create this with # kubectl create secret generic runner-secret --from-literal=token=your_offline_token_here apiVersion: v1 diff --git a/internal/app/cmd/exec.go b/internal/app/cmd/exec.go index 404f4ae..6020ee3 100644 --- a/internal/app/cmd/exec.go +++ b/internal/app/cmd/exec.go @@ -7,6 +7,7 @@ package cmd import ( "context" "fmt" + "net" "os" "path/filepath" "strconv" @@ -50,8 +51,8 @@ type executeArgs struct { containerCapDrop []string containerOptions string artifactServerPath string - artifactServerAddr string - artifactServerPort string + artifactServerAddr net.IP + artifactServerPort uint16 noSkipCheckout bool debug bool dryrun bool @@ -256,7 +257,7 @@ func runExecList(ctx context.Context, planner model.WorkflowPlanner, execArgs *e var filterEventName string if len(execArgs.event) > 0 { - log.Infof("Using chosed event for filtering: %s", execArgs.event) + log.Infof("Using chosen event for filtering: %s", execArgs.event) filterEventName = execArgs.event } else if execArgs.autodetectEvent { // collect all events from loaded workflows @@ -316,7 +317,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command events := planner.GetEvents() if len(execArgs.event) > 0 { - log.Infof("Using chosed event for filtering: %s", execArgs.event) + log.Infof("Using chosen event for filtering: %s", execArgs.event) eventName = execArgs.event } else if len(events) == 1 && len(events[0]) > 0 { log.Infof("Using the only detected workflow event: %s", events[0]) @@ -359,12 +360,8 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command log.Infof("cache handler listens on: %v", handler.ExternalURL()) execArgs.cacheHandler = handler - if len(execArgs.artifactServerAddr) == 0 { - ip := common.GetOutboundIP() - if ip == nil { - return fmt.Errorf("unable to determine outbound IP address") - } - execArgs.artifactServerAddr = ip.String() + if execArgs.artifactServerAddr == nil { + return fmt.Errorf("unable to determine outbound IP address") } if len(execArgs.artifactServerPath) == 0 { @@ -400,8 +397,8 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command ContainerOptions: execArgs.containerOptions, AutoRemove: true, ArtifactServerPath: execArgs.artifactServerPath, - ArtifactServerPort: execArgs.artifactServerPort, - ArtifactServerAddr: execArgs.artifactServerAddr, + ArtifactServerAddr: execArgs.artifactServerAddr.String(), + ArtifactServerPort: strconv.FormatUint(uint64(execArgs.artifactServerPort), 10), NoSkipCheckout: execArgs.noSkipCheckout, // PresetGitHubContext: preset, // EventJSON: string(eventJSON), @@ -436,8 +433,10 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command return err } - artifactCancel := artifacts.Serve(ctx, execArgs.artifactServerPath, execArgs.artifactServerAddr, execArgs.artifactServerPort) - log.Debugf("artifacts server started at %s:%s", execArgs.artifactServerPath, execArgs.artifactServerPort) + artifactCancel := artifacts.Serve(ctx, config.ArtifactServerPath, config.ArtifactServerAddr, config.ArtifactServerPort) + log.Debugf("artifacts server started at http://%s", + net.JoinHostPort(config.ArtifactServerAddr, config.ArtifactServerPort), + ) ctx = common.WithDryrun(ctx, execArgs.dryrun) executor := r.NewPlanExecutor(plan).Finally(func(ctx context.Context) error { @@ -482,8 +481,8 @@ func loadExecCmd(ctx context.Context) *cobra.Command { execCmd.Flags().StringArrayVarP(&execArg.containerCapDrop, "container-cap-drop", "", []string{}, "kernel capabilities to remove from the workflow containers (e.g. --container-cap-drop SYS_PTRACE)") execCmd.Flags().StringVarP(&execArg.containerOptions, "container-opts", "", "", "container options") execCmd.PersistentFlags().StringVarP(&execArg.artifactServerPath, "artifact-server-path", "", ".", "Defines the path where the artifact server stores uploads and retrieves downloads from. If not specified the artifact server will not start.") - execCmd.PersistentFlags().StringVarP(&execArg.artifactServerAddr, "artifact-server-addr", "", "", "Defines the address where the artifact server listens") - execCmd.PersistentFlags().StringVarP(&execArg.artifactServerPort, "artifact-server-port", "", "34567", "Defines the port where the artifact server listens (will only bind to localhost).") + execCmd.PersistentFlags().IPVarP(&execArg.artifactServerAddr, "artifact-server-addr", "", common.GetOutboundIP(), "Defines the address where the artifact server listens") + execCmd.PersistentFlags().Uint16VarP(&execArg.artifactServerPort, "artifact-server-port", "", 34567, "Defines the port where the artifact server listens (will only bind to localhost).") execCmd.PersistentFlags().StringVarP(&execArg.defaultActionsURL, "default-actions-url", "", "https://code.forgejo.org", "Defines the default base url of the action.") 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")