Skip to content

BUILD-9765 cleanup & aligment *-gradle *-maven #1175

BUILD-9765 cleanup & aligment *-gradle *-maven

BUILD-9765 cleanup & aligment *-gradle *-maven #1175

---
name: Test Build Number
on:
pull_request:
merge_group:
push:
branches:
- master
- branch-*
workflow_dispatch:
jobs:
test-build-number-generation:
runs-on: github-ubuntu-latest-s
permissions:
id-token: write
contents: read
outputs:
BUILD_NUMBER: ${{ steps.get_build_number.outputs.BUILD_NUMBER }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
sparse-checkout: get-build-number
- uses: ./get-build-number
id: get_build_number
- name: Check build number generation
run: |
echo "BUILD_NUMBER: ${BUILD_NUMBER}"
[[ "${BUILD_NUMBER}" =~ ^[0-9]+$ ]]
- uses: ./get-build-number
id: get_build_number_second_call
- name: Check build number is stable across calls
env:
BUILD_NUMBER_FROM_FIRST_CALL: ${{ steps.get_build_number.outputs.BUILD_NUMBER }}
BUILD_NUMBER_FROM_SECOND_CALL: ${{ steps.get_build_number_second_call.outputs.BUILD_NUMBER }}
run: |
if [[ "${BUILD_NUMBER_FROM_FIRST_CALL}" != "${BUILD_NUMBER_FROM_SECOND_CALL}" ]]; then
echo -e "::error title=test-build-number-generation::Build number '${BUILD_NUMBER_FROM_FIRST_CALL}' from first call" \
"does not match the build number from second call '${BUILD_NUMBER_FROM_SECOND_CALL}'."
exit 1
fi
test-build-number-reuse-from-cache:
needs: test-build-number-generation
runs-on: github-ubuntu-latest-s
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
sparse-checkout: get-build-number
- uses: ./get-build-number
- name: Check build number was reused
run: |
echo "BUILD_NUMBER: ${BUILD_NUMBER}"
if [[ "${BUILD_NUMBER}" != "${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}" ]]; then
echo -e "::error title=test-build-number-reuse::Build number '${BUILD_NUMBER}' does not match the previous job build number" \
"'${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}' despite it is the same workflow run.\n" \
"Prefer using the output from SonarSource/ci-github-actions/get-build-number instead of calling it from distinct jobs."
fi
test-build-number-reuse-from-cache-windows:
needs: test-build-number-generation
runs-on: github-windows-latest-s
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
sparse-checkout: get-build-number
- uses: ./get-build-number
- name: Check build number was reused
shell: bash
run: |
echo "BUILD_NUMBER: ${BUILD_NUMBER}"
if [[ "${BUILD_NUMBER}" != "${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}" ]]; then
echo -e "::error title=test-build-number-reuse-from-cache-windows::Build number '${BUILD_NUMBER}' does not match the previous" \
"job build number '${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}' despite it is the same workflow run.\n" \
"Prefer using the output from SonarSource/ci-github-actions/get-build-number instead of calling it from distinct jobs."
fi
test-build-number-reuse-from-env:
needs: test-build-number-generation
runs-on: github-ubuntu-latest-s
permissions:
id-token: write
contents: read
env:
BUILD_NUMBER: ${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
sparse-checkout: get-build-number
- uses: ./get-build-number
id: get_build_number
- name: Check build number was reused
env:
BUILD_NUMBER_FROM_ENV: ${{ needs.test-build-number-generation.outputs.BUILD_NUMBER }}
BUILD_NUMBER_RETURNED: ${{ steps.get_build_number.outputs.BUILD_NUMBER }}
run: |
echo "BUILD_NUMBER: ${BUILD_NUMBER}"
if [[ "${BUILD_NUMBER_FROM_ENV}" != "${BUILD_NUMBER_RETURNED}" ]]; then
echo -e "::error title=test-build-number-reuse-from-env::Build number returned by get-build-number '${BUILD_NUMBER_RETURNED}'" \
"does not match the build number passed by env ${BUILD_NUMBER_FROM_ENV}."
exit 1
fi
test-build-number-reuse:
if: always()
needs:
- test-build-number-generation
- test-build-number-reuse-from-cache
- test-build-number-reuse-from-cache-windows
- test-build-number-reuse-from-env
runs-on: github-ubuntu-latest-s
steps:
- uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
jobs: ${{ toJSON(needs) }}