diff --git a/acceptance/testdata/runnerdeploy.envsubst.yaml b/acceptance/testdata/runnerdeploy.envsubst.yaml index ad935125..4ac0b704 100644 --- a/acceptance/testdata/runnerdeploy.envsubst.yaml +++ b/acceptance/testdata/runnerdeploy.envsubst.yaml @@ -28,6 +28,7 @@ spec: ## Replace `mumoshu/actions-runner-dind:dev` with your dind image #dockerdWithinRunnerContainer: true #image: mumoshu/actions-runner-dind:dev + dockerdWithinRunnerContainer: ${RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER} # # Set the MTU used by dockerd-managed network interfaces (including docker-build-ubuntu) diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index e6d25f12..3b24ba91 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -17,12 +17,15 @@ var ( controllerImageTag = "e2e" controllerImage = testing.Img(controllerImageRepo, controllerImageTag) runnerImageRepo = "actionsrunnercontrollere2e/actions-runner" + runnerDindImageRepo = "actionsrunnercontrollere2e/actions-runner-dind" runnerImageTag = "e2e" runnerImage = testing.Img(runnerImageRepo, runnerImageTag) + runnerDindImage = testing.Img(runnerDindImageRepo, runnerImageTag) prebuildImages = []testing.ContainerImage{ controllerImage, runnerImage, + runnerDindImage, } builds = []testing.DockerBuild{ @@ -36,6 +39,11 @@ var ( Args: []testing.BuildArg{}, Image: runnerImage, }, + { + Dockerfile: "../../runner/Dockerfile.dindrunner", + Args: []testing.BuildArg{}, + Image: runnerDindImage, + }, } certManagerVersion = "v1.1.1" @@ -52,7 +60,6 @@ var ( "SYNC_PERIOD=" + "10s", "NAME=" + controllerImageRepo, "VERSION=" + controllerImageTag, - "RUNNER_NAME=" + runnerImageRepo, "RUNNER_TAG=" + runnerImageTag, } @@ -173,6 +180,7 @@ type env struct { githubTokenWebhook string testEnterprise string featureFlagEphemeral bool + dockerdWithinRunnerContainer bool testJobs []job } @@ -203,6 +211,12 @@ func initTestEnv(t *testing.T) *env { ephemeral, _ := strconv.ParseBool(testing.Getenv(t, "TEST_FEATURE_FLAG_EPHEMERAL")) e.featureFlagEphemeral = ephemeral + var err error + e.dockerdWithinRunnerContainer, err = strconv.ParseBool(testing.Getenv(t, "TEST_RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER", "false")) + if err != nil { + panic(fmt.Sprintf("unable to parse bool from TEST_RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER: %v", err)) + } + return e } @@ -260,6 +274,18 @@ func (e *env) installActionsRunnerController(t *testing.T) { fmt.Sprintf("RUNNER_FEATURE_FLAG_EPHEMERAL=%v", e.featureFlagEphemeral), } + if e.dockerdWithinRunnerContainer { + varEnv = append(varEnv, + "RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER=true", + "RUNNER_NAME="+runnerDindImageRepo, + ) + } else { + varEnv = append(varEnv, + "RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER=false", + "RUNNER_NAME="+runnerImageRepo, + ) + } + scriptEnv = append(scriptEnv, varEnv...) scriptEnv = append(scriptEnv, commonScriptEnv...)