Merge pull request #33 from engineeredsoftware/v30/gate-1-roadmap-and… #252
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 | |
| 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*) | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29 | |
| ;; | |
| *) | |
| echo "Skipping strict spec-title conformance; title is not a V29/V30 spec change." | |
| ;; | |
| esac |