Skip to content

Commit e4220be

Browse files
committed
Migrate e2e tests Container Registry usage to Artifact Registry
- Push images to GAR - Upgrading to latest test runner docker image which lives in GAR - Update `wait-for-image.sh` and build scripts that were coupled to gcr.
1 parent a34dd38 commit e4220be

8 files changed

+28
-46
lines changed

Diff for: cloudbuild-e2e-cloud-functions-gen2.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,5 @@ steps:
4444

4545
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
4646
substitutions:
47-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
48-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
47+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
48+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: cloudbuild-e2e-cloud-run.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ steps:
3232

3333
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
3434
substitutions:
35-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
36-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
35+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
36+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: cloudbuild-e2e-gae.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ steps:
3333

3434
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
3535
substitutions:
36-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
37-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
36+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
37+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: cloudbuild-e2e-gce.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ steps:
3232

3333
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
3434
substitutions:
35-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
36-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
35+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
36+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: cloudbuild-e2e-gke.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ steps:
3232

3333
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
3434
substitutions:
35-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
36-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
35+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
36+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: cloudbuild-e2e-image.yaml

+6-27
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,19 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
steps:
15-
# If the image doesn't exist, create a skip file for the next step to know
16-
- name: "gcr.io/cloud-builders/gcloud"
17-
entrypoint: "bash"
18-
args:
19-
- -c
20-
- |
21-
existing_tags=$(
22-
gcloud container images list-tags \
23-
--filter="tags:${SHORT_SHA}" --format=json \
24-
${_TEST_SERVER_IMAGE_NAME}
25-
)
26-
27-
if [ "$existing_tags" == "[]" ]; then
28-
echo "Image doesn't exist, will build it"
29-
else
30-
echo "Image already exists, will skip building"
31-
touch skip
32-
fi
33-
34-
# If skip doesn't exist, build and push
3515
- name: docker
36-
id: build-test-server
3716
entrypoint: "sh"
3817
args:
3918
- -c
4019
- |
41-
if [ -e "skip" ]; then
42-
return
43-
else
44-
docker build --tag=${_TEST_SERVER_IMAGE} --file=e2e.Dockerfile .
45-
docker push ${_TEST_SERVER_IMAGE}
20+
if docker manifest inspect ${_TEST_SERVER_IMAGE} > /dev/null; then
21+
echo "Image already exists, will skip building"
22+
exit
4623
fi
24+
docker build --tag=${_TEST_SERVER_IMAGE} --file=e2e.Dockerfile .
25+
docker push ${_TEST_SERVER_IMAGE}
4726
4827
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
4928
substitutions:
5029
_TEST_SERVER_IMAGE: ${_TEST_SERVER_IMAGE_NAME}:${SHORT_SHA}
51-
_TEST_SERVER_IMAGE_NAME: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server
30+
_TEST_SERVER_IMAGE_NAME: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server

Diff for: cloudbuild-e2e-local.yaml

+8-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ steps:
2121
args:
2222
- e2e-test-server/wait-for-image.sh
2323

24+
- name: "docker"
25+
id: pull-image
26+
args:
27+
- pull
28+
- $_TEST_SERVER_IMAGE
29+
2430
# Run the test
2531
- name: $_TEST_RUNNER_IMAGE
2632
id: run-tests-local
@@ -33,5 +39,5 @@ steps:
3339

3440
logsBucket: gs://opentelemetry-ops-e2e-cloud-build-logs
3541
substitutions:
36-
_TEST_RUNNER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-e2e-testing:0.17.0
37-
_TEST_SERVER_IMAGE: gcr.io/${PROJECT_ID}/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}
42+
_TEST_RUNNER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-e2e-testing:0.20.1
43+
_TEST_SERVER_IMAGE: us-central1-docker.pkg.dev/${PROJECT_ID}/e2e-testing/opentelemetry-operations-java-e2e-test-server:${SHORT_SHA}

Diff for: e2e-test-server/wait-for-image.sh

+4-7
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,11 @@
1515
# limitations under the License.
1616
#
1717
while true; do
18-
docker pull $_TEST_SERVER_IMAGE
19-
pull_success=$?
20-
21-
if [ $pull_success -ne 0 ]; then
22-
echo "Image couldn't be pulled yet, will continue to retry"
23-
else
24-
echo "Image pulled successfully, continuing onto test"
18+
if docker manifest inspect ${_TEST_SERVER_IMAGE} > /dev/null; then
19+
echo "Image is available, continuing onto test"
2520
break
21+
else
22+
echo "Image not available yet, will continue to retry"
2623
fi
2724
sleep 5
2825
done

0 commit comments

Comments
 (0)