From b1f6b4f3ea102918cbc5cefd663ad41294ce9377 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Mon, 4 Nov 2024 17:08:24 +0000 Subject: [PATCH 1/2] ci: test multiple Bazel versions --- .bazelrc.ci | 2 +- .gitlab-ci.yml | 44 +++++++++++++++++++++++++++++++++----------- e2e/.bazelrc.ci | 2 +- 3 files changed, 35 insertions(+), 13 deletions(-) diff --git a/.bazelrc.ci b/.bazelrc.ci index 679a169..ea22151 100644 --- a/.bazelrc.ci +++ b/.bazelrc.ci @@ -26,7 +26,7 @@ test --test_output=errors test --test_verbose_timeout_warnings # Validate that the lockfile is correct -common --lockfile_mode=error +common --lockfile_mode=${CI_LOCKFILE_MODE} # These locations are cached on the CI build:local --disk_cache=${CI_PROJECT_DIR}/.cache/bazel/disk diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d82e5c..7ad9321 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,36 +14,58 @@ include: CI_COMMIT_REF_NAME CI_COMMIT_SHA CI_SERVER_HOST + CI_LOCKFILE_MODE default: tags: - arm64 -test: +.test: extends: .bazelisk cache: - !reference [.bazelisk, cache] - key: "bazel-cache-${CI_PROJECT_ID}" paths: - - ".cache/bazel/disk" - - ".cache/bazel/repo" + - ".cache/bazel/disk" + - ".cache/bazel/repo" + variables: + CI_LOCKFILE_MODE: error + CONFIG: local + script: + - (cd "${ROOT}"; bazelisk test --config="${CONFIG}" //...) + +config: + extends: .test parallel: matrix: - ROOT: - - . - - e2e + - . + - e2e CONFIG: - - local - - remote - script: - - cd "${ROOT}"; bazelisk test --config="${CONFIG}" //... + - local + - remote + +version: + extends: .test + variables: + CI_LOCKFILE_MODE: "off" + parallel: + matrix: + - ROOT: + - . + - e2e + USE_BAZEL_VERSION: + - 7.1.0 + - 7.x + - last_rc # TODO: switch this out for `rules_semantic_release` semantic-release: + extends: .test stage: .post - extends: .bazelisk needs: - - test + - config + - version image: node:lts cache: key: diff --git a/e2e/.bazelrc.ci b/e2e/.bazelrc.ci index 679a169..ea22151 100644 --- a/e2e/.bazelrc.ci +++ b/e2e/.bazelrc.ci @@ -26,7 +26,7 @@ test --test_output=errors test --test_verbose_timeout_warnings # Validate that the lockfile is correct -common --lockfile_mode=error +common --lockfile_mode=${CI_LOCKFILE_MODE} # These locations are cached on the CI build:local --disk_cache=${CI_PROJECT_DIR}/.cache/bazel/disk -- GitLab From d1744c257f792bafb801dee8a2439400d7c6ea87 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Mon, 4 Nov 2024 17:09:07 +0000 Subject: [PATCH 2/2] fix: add `bazel_skylib` dependency --- e2e/MODULE.bazel | 1 + e2e/MODULE.bazel.lock | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/e2e/MODULE.bazel b/e2e/MODULE.bazel index 1ee2ad1..b129187 100644 --- a/e2e/MODULE.bazel +++ b/e2e/MODULE.bazel @@ -5,6 +5,7 @@ module( ], ) +bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "toolchain_utils", version = "1.0.0-beta.17") bazel_dep(name = "rules_coreutils", version = "1.0.0-beta.7") bazel_dep(name = "rules_diff", version = "1.0.0-beta.5") diff --git a/e2e/MODULE.bazel.lock b/e2e/MODULE.bazel.lock index f010047..a5a3ad4 100644 --- a/e2e/MODULE.bazel.lock +++ b/e2e/MODULE.bazel.lock @@ -18,7 +18,8 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", "https://bcr.bazel.build/modules/download_utils/1.0.0-beta.2/MODULE.bazel": "bced1551849a5d1ca00b985c0d267ab690af840f04c685f2c62f40e92f66fac0", -- GitLab