diff --git a/acceptance/deploy_runners.sh b/acceptance/deploy_runners.sh index 0c0ecfbe..bb8a21d4 100755 --- a/acceptance/deploy_runners.sh +++ b/acceptance/deploy_runners.sh @@ -6,6 +6,8 @@ OP=${OP:-apply} RUNNER_LABEL=${RUNNER_LABEL:-self-hosted} +cat acceptance/testdata/kubernetes_container_mode.envsubst.yaml | NAMESPACE=${RUNNER_NAMESPACE} envsubst | kubectl apply -f - + if [ -n "${TEST_REPO}" ]; then if [ "${USE_RUNNERSET}" != "false" ]; then cat acceptance/testdata/runnerset.envsubst.yaml | TEST_ENTERPRISE= TEST_ORG= RUNNER_MIN_REPLICAS=${REPO_RUNNER_MIN_REPLICAS} NAME=repo-runnerset envsubst | kubectl ${OP} -f - diff --git a/acceptance/testdata/kubernetes_container_mode.envsubst.yaml b/acceptance/testdata/kubernetes_container_mode.envsubst.yaml index 6c7b4465..43d63c0e 100644 --- a/acceptance/testdata/kubernetes_container_mode.envsubst.yaml +++ b/acceptance/testdata/kubernetes_container_mode.envsubst.yaml @@ -20,6 +20,10 @@ rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "list", "create", "delete"] +# Needed to report test success by crating a cm from within workflow job step +- apiGroups: [""] + resources: ["configmaps"] + verbs: ["create", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -33,7 +37,7 @@ rules: apiVersion: v1 kind: ServiceAccount metadata: - name: runner + name: ${RUNNER_SERVICE_ACCOUNT_NAME} namespace: ${NAMESPACE} --- # To verify it's working, try: @@ -50,7 +54,7 @@ metadata: namespace: ${NAMESPACE} subjects: - kind: ServiceAccount - name: runner + name: ${RUNNER_SERVICE_ACCOUNT_NAME} namespace: ${NAMESPACE} roleRef: kind: ClusterRole @@ -64,7 +68,7 @@ metadata: namespace: ${NAMESPACE} subjects: - kind: ServiceAccount - name: runner + name: ${RUNNER_SERVICE_ACCOUNT_NAME} namespace: ${NAMESPACE} roleRef: kind: ClusterRole diff --git a/acceptance/testdata/runnerdeploy.envsubst.yaml b/acceptance/testdata/runnerdeploy.envsubst.yaml index a76f38d3..f99e39d3 100644 --- a/acceptance/testdata/runnerdeploy.envsubst.yaml +++ b/acceptance/testdata/runnerdeploy.envsubst.yaml @@ -64,6 +64,7 @@ spec: resources: requests: storage: 10Gi + serviceAccountName: ${RUNNER_SERVICE_ACCOUNT_NAME} --- apiVersion: actions.summerwind.dev/v1alpha1 kind: HorizontalRunnerAutoscaler diff --git a/acceptance/testdata/runnerset.envsubst.yaml b/acceptance/testdata/runnerset.envsubst.yaml index 1809f483..b54a5d63 100644 --- a/acceptance/testdata/runnerset.envsubst.yaml +++ b/acceptance/testdata/runnerset.envsubst.yaml @@ -112,6 +112,7 @@ spec: labels: app: ${NAME} spec: + serviceAccountName: ${RUNNER_SERVICE_ACCOUNT_NAME} containers: - name: runner imagePullPolicy: IfNotPresent diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index 66b3af4d..45fd43ae 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -320,6 +320,8 @@ type env struct { rootlessDocker bool doDockerBuild bool containerMode string + runnerServiceAccuontName string + runnerNamespace string remoteKubeconfig string imagePullSecretName string imagePullPolicy string @@ -448,6 +450,8 @@ func initTestEnv(t *testing.T, k8sMinorVer string, vars vars) *env { e.testOrgRepo = testing.Getenv(t, "TEST_ORG_REPO", "") e.testEnterprise = testing.Getenv(t, "TEST_ENTERPRISE", "") e.testEphemeral = testing.Getenv(t, "TEST_EPHEMERAL", "") + e.runnerServiceAccuontName = testing.Getenv(t, "TEST_RUNNER_SERVICE_ACCOUNT_NAME", "") + e.runnerNamespace = testing.Getenv(t, "TEST_RUNNER_NAMESPACE", "default") e.remoteKubeconfig = testing.Getenv(t, "ARC_E2E_REMOTE_KUBECONFIG", "") e.imagePullSecretName = testing.Getenv(t, "ARC_E2E_IMAGE_PULL_SECRET_NAME", "") e.vars = vars @@ -642,6 +646,8 @@ func (e *env) do(t *testing.T, op string, kind DeployKind, testID string) { scriptEnv := []string{ "KUBECONFIG=" + e.Kubeconfig, "OP=" + op, + "RUNNER_NAMESPACE=" + e.runnerNamespace, + "RUNNER_SERVICE_ACCOUNT_NAME=" + e.runnerServiceAccuontName, } switch kind {