From 1c3260e625acc2ce6f5896d4a11c434821b86670 Mon Sep 17 00:00:00 2001 From: Mate Molnar Date: Fri, 5 Jun 2026 16:13:33 -0700 Subject: [PATCH 1/2] BUILD-11553 Use RUNNER_TEMP for get-build-number cache file Write build_number.txt under RUNNER_TEMP instead of the workspace checkout so ephemeral cache state does not pollute the repository tree. --- get-build-number/action.yml | 9 +++++---- get-build-number/get_build_number.sh | 2 +- spec/get_build_number_spec.sh | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/get-build-number/action.yml b/get-build-number/action.yml index 33dffded..5fc9db05 100644 --- a/get-build-number/action.yml +++ b/get-build-number/action.yml @@ -29,6 +29,7 @@ runs: fi echo "ACTION_PATH_GET_BUILD_NUMBER=$ACTION_PATH_GET_BUILD_NUMBER" echo "ACTION_PATH_GET_BUILD_NUMBER=$ACTION_PATH_GET_BUILD_NUMBER" >> "$GITHUB_ENV" + echo "BUILD_NUMBER_FILE=${RUNNER_TEMP}/build_number.txt" >> "$GITHUB_ENV" echo "::endgroup::" # Reuse build number from environment if provided (e.g. from a parent workflow) @@ -38,7 +39,7 @@ runs: shell: bash run: | echo "BUILD_NUMBER ${BUILD_NUMBER} provided from environment, skipping both increment and save to cache." - echo "${BUILD_NUMBER}" > build_number.txt + echo "${BUILD_NUMBER}" > "$BUILD_NUMBER_FILE" echo "skip=true" >> $GITHUB_OUTPUT # Reuse current build number in case of rerun @@ -47,7 +48,7 @@ runs: uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 id: current-build-number with: - path: build_number.txt + path: ${{ env.BUILD_NUMBER_FILE }} key: build-number-${{ github.run_id }} enableCrossOsArchive: true @@ -69,7 +70,7 @@ runs: id: export shell: bash run: | - BUILD_NUMBER=$(cat build_number.txt) + BUILD_NUMBER=$(cat "$BUILD_NUMBER_FILE") echo "BUILD_NUMBER: ${BUILD_NUMBER}" echo "BUILD_NUMBER=${BUILD_NUMBER}" >> "$GITHUB_ENV" echo "BUILD_NUMBER=${BUILD_NUMBER}" >> "$GITHUB_OUTPUT" @@ -78,6 +79,6 @@ runs: uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 if: steps.from-env.outputs.skip != 'true' && steps.current-build-number.outputs.cache-hit != 'true' with: - path: build_number.txt + path: ${{ env.BUILD_NUMBER_FILE }} key: build-number-${{ github.run_id }} enableCrossOsArchive: true diff --git a/get-build-number/get_build_number.sh b/get-build-number/get_build_number.sh index d7855f33..ee194d84 100755 --- a/get-build-number/get_build_number.sh +++ b/get-build-number/get_build_number.sh @@ -5,7 +5,7 @@ set -euo pipefail : "${GITHUB_REPOSITORY:?}" GH_API_VERSION_HEADER="X-GitHub-Api-Version: 2022-11-28" -CACHE_FILE="build_number.txt" +CACHE_FILE="${BUILD_NUMBER_FILE:-${RUNNER_TEMP}/build_number.txt}" echo "Fetching build number from repository properties..." PROPERTIES_API_URL="repos/${GITHUB_REPOSITORY}/properties/values" diff --git a/spec/get_build_number_spec.sh b/spec/get_build_number_spec.sh index 1ee5fefc..05e3aaa5 100755 --- a/spec/get_build_number_spec.sh +++ b/spec/get_build_number_spec.sh @@ -2,7 +2,8 @@ eval "$(shellspec - -c) exit 1" export GITHUB_REPOSITORY="my org/my-repo" -CACHE_FILE="build_number.txt" +export RUNNER_TEMP="${SHELLSPEC_TMPBASE:-/tmp}" +CACHE_FILE="${RUNNER_TEMP}/build_number.txt" Mock gh echo "gh $*" From 841a3a3943c93332b253486be1d418624d580712 Mon Sep 17 00:00:00 2001 From: Mate Molnar Date: Fri, 5 Jun 2026 16:27:01 -0700 Subject: [PATCH 2/2] BUILD-11553 Fix get_build_number spec under CI env pollution Override BUILD_NUMBER_FILE in the spec so tests do not inherit the path set by config-npm during the test-shell-scripts workflow. --- spec/get_build_number_spec.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/get_build_number_spec.sh b/spec/get_build_number_spec.sh index 05e3aaa5..5eb52c42 100755 --- a/spec/get_build_number_spec.sh +++ b/spec/get_build_number_spec.sh @@ -3,7 +3,8 @@ eval "$(shellspec - -c) exit 1" export GITHUB_REPOSITORY="my org/my-repo" export RUNNER_TEMP="${SHELLSPEC_TMPBASE:-/tmp}" -CACHE_FILE="${RUNNER_TEMP}/build_number.txt" +export BUILD_NUMBER_FILE="${RUNNER_TEMP}/build_number.txt" +CACHE_FILE="${BUILD_NUMBER_FILE}" Mock gh echo "gh $*"