From a9ceeb9a62ede7745d0ef20d7b763682b4950ba6 Mon Sep 17 00:00:00 2001 From: Achilleas Koutsou Date: Mon, 31 Jul 2023 14:09:09 +0200 Subject: [PATCH] gitlab: separate pipeline generators per architecture While the first child pipeline generator can generate configs for all architectures, split it just like we do with the ostree pipeline generator to share the work and speed up the manifest generation a bit. --- .gitlab-ci.yml | 29 ++++++++++++++++++++++++++--- test/generate-build-config | 5 +---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d106a40576..915ab9a58c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ init: script: - schutzbot/update_github_status.sh start -generate-build-config: +generate-build-config-x86_64: stage: gen extends: .terraform variables: @@ -56,12 +56,35 @@ generate-build-config: paths: - build-config.yml -image-build-trigger: +generate-build-config-aarch64: + stage: gen + extends: .terraform + variables: + RUNNER: aws/fedora-38-aarch64 + INTERNAL_NETWORK: "true" + PYTHONUNBUFFERED: 1 + script: + - sudo dnf -y install go python3 gpgme-devel s3cmd + osbuild osbuild-luks2 osbuild-lvm2 osbuild-ostree osbuild-selinux + - ./test/generate-build-config build-config.yml + artifacts: + paths: + - build-config.yml + +image-build-trigger-x86_64: + stage: test + trigger: + include: + - artifact: build-config.yml + job: generate-build-config-x86_64 + strategy: depend + +image-build-trigger-aarch64: stage: test trigger: include: - artifact: build-config.yml - job: generate-build-config + job: generate-build-config-aarch64 strategy: depend generate-ostree-build-config-x86_64: diff --git a/test/generate-build-config b/test/generate-build-config index 75372a30ed..1c5cfede3e 100755 --- a/test/generate-build-config +++ b/test/generate-build-config @@ -8,9 +8,6 @@ from tempfile import TemporaryDirectory import imgtestlib as testlib -# TEST SELECTION -ARCHITECTURES = ["x86_64", "aarch64"] - PUSH_CONTAINER = "./tools/ci/push-container.sh" @@ -35,7 +32,7 @@ def generate_manifests(outputdir): Generate all manifest using the default config map and return a dictionary mapping each manifest file to the manifest data and its ID. """ - arches_arg = ",".join(ARCHITECTURES) + arches_arg = os.uname().machine cmd = ["go", "run", "./cmd/gen-manifests", "-cache", os.path.join(testlib.TEST_CACHE_ROOT, "rpmmd"), "-output", outputdir,