V32 Gate 10: Wire Promotion Readiness #362
Workflow file for this run
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: Bitcode Canon Quality | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| bitcode-spec-basics: | |
| name: Bitcode Spec Basics | |
| runs-on: ubuntu-latest | |
| container: | |
| image: node:22-bookworm | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Validate active canon and draft posture | |
| run: | | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V28" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V28 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V28 --draft-target V29 | |
| node scripts/check-bitcode-spec-family.mjs --version V28 --mode promoted --current-target V28 | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode draft --current-target V28 | |
| elif [ "$POINTER" = "V29" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V29 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V29 --draft-target V30 | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode promoted --current-target V29 | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29 | |
| elif [ "$POINTER" = "V30" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V30 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V30 --draft-target V31 | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode promoted --current-target V30 | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode draft --current-target V30 | |
| elif [ "$POINTER" = "V31" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V31 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V31 --draft-target V32 | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode promoted --current-target V31 | |
| if [ -f BITCODE_SPEC_V32.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode draft --current-target V31 | |
| fi | |
| elif [ "$POINTER" = "V32" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V32 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V32 --draft-target V33 | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode promoted --current-target V32 | |
| if [ -f BITCODE_SPEC_V33.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode draft --current-target V32 | |
| fi | |
| else | |
| echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2 | |
| exit 1 | |
| fi | |
| bitcode-demonstration-mvp: | |
| name: Bitcode Demonstration MVP | |
| runs-on: ubuntu-latest | |
| needs: bitcode-spec-basics | |
| container: | |
| image: node:22-bookworm | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run V28 protocol-demonstration MVP QA | |
| run: npm --prefix protocol-demonstration run test:v28-mvp-qa | |
| bitcode-spec-commit-conformance: | |
| name: Bitcode Spec Commit Conformance | |
| runs-on: ubuntu-latest | |
| needs: bitcode-spec-basics | |
| container: | |
| image: node:22-bookworm | |
| env: | |
| SPEC_TITLE: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || github.event.head_commit.message }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run strict conformance for spec-title changes | |
| run: | | |
| case "$SPEC_TITLE" in | |
| spec:\ V29*|spec:\ v29*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V29" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode promoted --current-target V29 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode draft --current-target V28 | |
| fi | |
| ;; | |
| spec:\ V30*|spec:\ v30*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V30" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode promoted --current-target V30 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29 | |
| fi | |
| ;; | |
| spec:\ V31*|spec:\ v31*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V31" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode promoted --current-target V31 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode draft --current-target V30 | |
| fi | |
| ;; | |
| spec:\ V32*|spec:\ v32*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V32" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode promoted --current-target V32 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode draft --current-target V31 | |
| fi | |
| ;; | |
| *) | |
| echo "Skipping strict spec-title conformance; title is not a V29/V30/V31/V32 spec change." | |
| ;; | |
| esac |