From 2d8888a15a6b68ce5881059816d9ed96b3545a89 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 19 Aug 2024 09:48:48 +0000 Subject: [PATCH 1/3] Publishing server images created by PR --- tests/ci/ci_config.py | 2 +- tests/ci/docker_server.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index 5cf00b85c825..6c65fc4a433c 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -447,7 +447,7 @@ class TestConfig: # common test params docker_server_job_config = JobConfig( required_on_release_branch=True, - run_command='docker_server.py --check-name "$CHECK_NAME" --release-type head --allow-build-reuse', + run_command='docker_server.py --check-name "$CHECK_NAME" --release-type head --allow-build-reuse --push', digest=DigestConfig( include_paths=[ "tests/ci/docker_server.py", diff --git a/tests/ci/docker_server.py b/tests/ci/docker_server.py index b1c579215405..608372d32bcb 100644 --- a/tests/ci/docker_server.py +++ b/tests/ci/docker_server.py @@ -371,6 +371,11 @@ def main(): image = DockerImageData(image_path, image_repo, False) args.release_type = auto_release_type(args.version, args.release_type) tags = gen_tags(args.version, args.release_type) + + # NOTE(vnemkov): publish docker images created by PRs, so there is a way to test them + if pr_info.is_pr(): + tags.append(f'PR-{pr_info.number}-{pr_info.sha}') + repo_urls = {} direct_urls: Dict[str, List[str]] = {} release_or_pr, _ = get_release_or_pr(pr_info, args.version) From 810f0dcb19e76b70c94ac5ec5411b8762fe3db71 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 19 Aug 2024 09:52:50 +0000 Subject: [PATCH 2/3] Pushing from docker_server.py --- tests/ci/ci_config.py | 2 +- tests/ci/docker_server.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/ci/ci_config.py b/tests/ci/ci_config.py index 6c65fc4a433c..5cf00b85c825 100644 --- a/tests/ci/ci_config.py +++ b/tests/ci/ci_config.py @@ -447,7 +447,7 @@ class TestConfig: # common test params docker_server_job_config = JobConfig( required_on_release_branch=True, - run_command='docker_server.py --check-name "$CHECK_NAME" --release-type head --allow-build-reuse --push', + run_command='docker_server.py --check-name "$CHECK_NAME" --release-type head --allow-build-reuse', digest=DigestConfig( include_paths=[ "tests/ci/docker_server.py", diff --git a/tests/ci/docker_server.py b/tests/ci/docker_server.py index 608372d32bcb..2ae71a9cc04a 100644 --- a/tests/ci/docker_server.py +++ b/tests/ci/docker_server.py @@ -365,8 +365,10 @@ def main(): del args.image_repo del args.push - if pr_info.is_master(): - push = True + # if pr_info.is_master(): + # push = True + # NOTE(vnemkov): always push (since we are pushing to a intermediary repo) for testing + push = True image = DockerImageData(image_path, image_repo, False) args.release_type = auto_release_type(args.version, args.release_type) From d90c26c02b66c23e10c3e6920f33583377aabe3f Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 19 Aug 2024 13:12:56 +0000 Subject: [PATCH 3/3] Attempt to fix pushing the image --- tests/ci/docker_server.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/ci/docker_server.py b/tests/ci/docker_server.py index 2ae71a9cc04a..2f4552a3e948 100644 --- a/tests/ci/docker_server.py +++ b/tests/ci/docker_server.py @@ -252,7 +252,9 @@ def build_and_push_image( init_args = ["docker", "buildx", "build"] if push: init_args.append("--push") - init_args.append("--output=type=image,push-by-digest=true") + # NOTE(vnemkov): since for FIPS we don't build arm64 images and don't merge that against amd64 images, + # we don't need to do `push-by-digest`. + init_args.append("--output=type=image") init_args.append(f"--tag={image.repo}") else: init_args.append("--output=type=docker")