55 type : f1-standard-2
66 os_image : ubuntu2404
77
8+ global_job_config :
9+ secrets :
10+ - name : semreg-semaphoredev-credentials
11+ prologue :
12+ commands :
13+ - echo $SEMAPHORE_REGISTRY_PASSWORD | docker login --username "$SEMAPHORE_REGISTRY_USERNAME" --password-stdin $SEMAPHORE_REGISTRY_HOST || echo "Semaphore Registry login failed, but continuing the build process." && true
14+ - export REGISTRY_HOST=$SEMAPHORE_REGISTRY_HOST
15+ - export E2E_BASE_IMAGE="$SEMAPHORE_REGISTRY_HOST/agent-e2e-base"
16+
817execution_time_limit :
918 minutes : 10
1019
@@ -80,8 +89,20 @@ blocks:
8089 commands :
8190 - test-results publish junit-report.xml
8291
83- - name : " Docker Executor E2E "
92+ - name : " E2E Base Image "
8493 dependencies : []
94+ task :
95+ prologue :
96+ commands :
97+ - checkout
98+ jobs :
99+ - name : Build and push
100+ commands :
101+ - docker build -f Dockerfile.test.base -t "$E2E_BASE_IMAGE" .
102+ - docker push "$E2E_BASE_IMAGE"
103+
104+ - name : " Docker Executor E2E"
105+ dependencies : ["E2E Base Image"]
85106 task :
86107 secrets :
87108 - name : aws-ecr-agent-e2e-secret
@@ -98,6 +119,7 @@ blocks:
98119 commands :
99120 - sem-version go 1.24.11
100121 - checkout
122+ - docker pull "$E2E_BASE_IMAGE"
101123 - go version
102124 - go get
103125 - go build
@@ -155,7 +177,7 @@ blocks:
155177 - compose_v1
156178
157179 - name : " Hosted E2E tests"
158- dependencies : []
180+ dependencies : ["E2E Base Image" ]
159181 task :
160182 env_vars :
161183 - name : GO111MODULE
@@ -165,6 +187,7 @@ blocks:
165187 commands :
166188 - sem-version go 1.24.11
167189 - checkout
190+ - docker pull "$E2E_BASE_IMAGE"
168191 - go version
169192 - go get
170193 - go build
@@ -190,7 +213,7 @@ blocks:
190213 - job_logs_as_artifact_trimmed
191214
192215 - name : " Self hosted E2E"
193- dependencies : []
216+ dependencies : ["E2E Base Image" ]
194217 task :
195218 env_vars :
196219 - name : GO111MODULE
@@ -202,6 +225,7 @@ blocks:
202225 commands :
203226 - sem-version go 1.24.11
204227 - checkout
228+ - docker pull "$E2E_BASE_IMAGE"
205229 - go version
206230 - go get
207231 - go build
@@ -225,7 +249,7 @@ blocks:
225249 - docker_compose_fail_on_missing_host_files
226250
227251 - name : " Kubernetes Executor E2E"
228- dependencies : []
252+ dependencies : ["E2E Base Image" ]
229253 task :
230254 secrets :
231255 - name : aws-ecr-agent-e2e-secret
@@ -246,6 +270,7 @@ blocks:
246270 - /tmp/minikube-linux-amd64 config set WantUpdateNotification false
247271 - /tmp/minikube-linux-amd64 start --driver=docker
248272 - checkout
273+ - docker pull "$E2E_BASE_IMAGE"
249274 - mkdir /tmp/agent
250275 # The docker container uses root, and not semaphore
251276 - grep -rl "/home/semaphore" ~/.kube | xargs sed -i 's/home\/semaphore/root/g'
0 commit comments