Skip to content

v3 installed package validation #61

v3 installed package validation

v3 installed package validation #61

name: v3 Windows consumer failure values (never-merge diagnostic)
on:
workflow_dispatch:
inputs:
approved_sha:
description: Exact reviewed diagnostic source commit; one dispatch only (1 Windows target / 60 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-windows-consumer-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 shared external consumer case once
env:
CI_DIAGNOSTIC_APPROVED_SHA: ${{ inputs.approved_sha }}
run: |
export PATH="/c/Program Files/Git/cmd:$PATH"
/mingw64/bin/python scripts/ci_native_consumer_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-consumer-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