Repository navigation
v3 installed package validation #55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: v3 current native values (never-merge diagnostic branch) | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| approved_sha: | |
| description: Exact reviewed diagnostic source commit; one dispatch only (2 targets / 120 seconds) | |
| required: true | |
| type: string | |
| permissions: | |
| contents: read | |
| jobs: | |
| windows: | |
| runs-on: windows-2022 | |
| timeout-minutes: 90 | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - name: Keep selected Git source bytes unchanged | |
| shell: pwsh | |
| run: git config --global core.autocrlf false | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Verify the caller-approved diagnostic source and first attempt | |
| shell: pwsh | |
| env: | |
| APPROVED_SHA: ${{ inputs.approved_sha }} | |
| run: | | |
| if ($env:GITHUB_SHA -ne $env:APPROVED_SHA -or $env:GITHUB_RUN_ATTEMPT -ne '1' -or $env:GITHUB_REF -ne 'refs/heads/task/FEATURE-ci-native-current-values') { | |
| throw 'Only the approved diagnostic branch commit and first workflow attempt are authorized' | |
| } | |
| - uses: msys2/setup-msys2@e9898307ac31d1a803454791be09ab9973336e1c | |
| with: | |
| msystem: MINGW64 | |
| path-type: inherit | |
| update: true | |
| install: >- | |
| autotools base-devel perl git | |
| mingw-w64-x86_64-clang mingw-w64-x86_64-gcc mingw-w64-x86_64-binutils | |
| mingw-w64-x86_64-python mingw-w64-x86_64-pkgconf mingw-w64-x86_64-libtool mingw-w64-x86_64-curl mingw-w64-x86_64-libsystre | |
| - name: Selected MSYS2 toolchain provenance | |
| run: | | |
| mkdir -p "$RUNNER_TEMP/package-evidence" | |
| pacman -Q > "$RUNNER_TEMP/package-evidence/msys2-packages.txt" | |
| export PATH="/c/Program Files/Git/cmd:$PATH" | |
| /mingw64/bin/python -c 'import subprocess; subprocess.run(["git", "--version"], check=True)' | |
| - name: Bootstrap | |
| run: ./bootstrap | |
| - name: Build TLS-off library; run original external four-test program once | |
| env: | |
| CI_DIAGNOSTIC_APPROVED_SHA: ${{ inputs.approved_sha }} | |
| run: | | |
| export PATH="/c/Program Files/Git/cmd:$PATH" | |
| /mingw64/bin/python scripts/ci_native_current_values.py \ | |
| --output "$(cygpath -m "$RUNNER_TEMP/package-evidence/native")" \ | |
| --toolchain-prefix "$(cygpath -m /mingw64)" --compiler clang++ --cc clang | |
| - if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 | |
| with: | |
| name: native-current-values-windows-${{ github.sha }} | |
| path: | | |
| ${{ runner.temp }}/package-evidence/**/*.json | |
| ${{ runner.temp }}/package-evidence/**/*.log | |
| ${{ runner.temp }}/package-evidence/**/*.bin | |
| ${{ runner.temp }}/package-evidence/**/*.diff | |
| ${{ runner.temp }}/package-evidence/msys2-packages.txt | |
| retention-days: 14 | |
| if-no-files-found: error | |
| darwin: | |
| runs-on: macos-15 | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Verify the caller-approved diagnostic source and first attempt | |
| env: | |
| APPROVED_SHA: ${{ inputs.approved_sha }} | |
| run: | | |
| test "$GITHUB_SHA" = "$APPROVED_SHA" | |
| test "$GITHUB_RUN_ATTEMPT" = 1 | |
| test "$GITHUB_REF" = refs/heads/task/FEATURE-ci-native-current-values | |
| - name: Prerequisites | |
| run: brew install autoconf automake libtool pkg-config python curl llvm make | |
| - name: Select complete C++20 compiler and runtime | |
| run: bash scripts/ci-macos-toolchain.sh | |
| - name: Build selected prerequisites | |
| run: python3 scripts/prepare-v3-package-ci.py --output "$RUNNER_TEMP/native-current-values-prerequisites" | |
| - name: Bootstrap | |
| run: ./bootstrap | |
| - name: Build TLS library; run original PSK fourteen-test program once | |
| env: | |
| CI_DIAGNOSTIC_APPROVED_SHA: ${{ inputs.approved_sha }} | |
| run: | | |
| mkdir -p "$RUNNER_TEMP/package-evidence" | |
| python3 scripts/ci_native_current_values.py \ | |
| --output "$RUNNER_TEMP/package-evidence/native" \ | |
| --provider-prefix "$RUNNER_TEMP/native-current-values-prerequisites/provider" \ | |
| --toolchain-prefix "$V3_PACKAGE_TOOLCHAIN" --compiler "$V3_CXX" --cc "$V3_CC" \ | |
| --pkg-config-dir "$(brew --prefix)/share/pkgconfig" --make gmake | |
| - if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 | |
| with: | |
| name: native-current-values-darwin-${{ github.sha }} | |
| path: | | |
| ${{ runner.temp }}/package-evidence/**/*.json | |
| ${{ runner.temp }}/package-evidence/**/*.log | |
| ${{ runner.temp }}/package-evidence/**/*.bin | |
| ${{ runner.temp }}/package-evidence/**/*.diff | |
| ${{ runner.temp }}/v3-toolchain/compiler.log | |
| ${{ runner.temp }}/native-current-values-prerequisites/preparation.json | |
| ${{ runner.temp }}/native-current-values-prerequisites/prepare-*.log | |
| retention-days: 14 | |
| if-no-files-found: error |