Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions .github/workflows/bitcode-canon-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run Bitcode spec-quality basics
run: node scripts/run-bitcode-spec-quality.mjs --mode basic
- name: Validate active canon and V28 draft posture
run: |
node scripts/check-bitcode-canonical-inputs.mjs --current-target V27
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V27 --draft-target V28
node scripts/check-bitcode-spec-family.mjs --version V28 --mode draft --current-target V27

bitcode-full:
name: Bitcode Full Test Suite
bitcode-demonstration-mvp:
name: Bitcode Demonstration MVP
runs-on: ubuntu-latest
needs: bitcode-spec-basics
container:
Expand All @@ -34,8 +37,8 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run full Bitcode protocol-demonstration suite
run: npm --prefix protocol-demonstration run test
- 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
Expand All @@ -50,5 +53,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run strict spec conformance for `spec: VN` titles
run: node scripts/run-bitcode-spec-quality.mjs --mode strict-from-title --commit-title "$SPEC_TITLE"
- name: Run V28 strict draft conformance for spec-title changes
run: |
case "$SPEC_TITLE" in
spec:\ V28*|spec:\ v28*)
node scripts/check-bitcode-spec-family.mjs --version V28 --mode draft --current-target V27
;;
*)
echo "Skipping strict spec-title conformance; title is not a V28 spec change."
;;
esac
67 changes: 67 additions & 0 deletions .github/workflows/bitcode-gate-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Bitcode Gate Quality

on:
push:
branches:
- "v*/gate-*"
- "version/**"
pull_request:
branches:
- "version/**"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
gate-quality:
name: Gate Quality
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "24"
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Validate draft canon posture
run: |
test "$(cat BITCODE_SPEC.txt)" = "V27"
node scripts/check-bitcode-spec-family.mjs --version V28 --mode draft --current-target V27
node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V27 --draft-target V28
node scripts/check-bitcode-canonical-inputs.mjs --current-target V27

- name: Validate source casing and imports
run: |
bash scripts/find-uppercase-raw-promptparts.sh
bash scripts/check-import-casing.sh

- name: Type-check gate packages
run: |
pnpm --filter @bitcode/pipeline-asset-pack typecheck
pnpm --filter @bitcode/pipeline-hosts typecheck

- name: Test gate packages
run: |
pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --passWithNoTests --forceExit
pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --passWithNoTests --forceExit

- name: Test protocol demonstration
run: npm --prefix protocol-demonstration run test:v28-mvp-qa

- name: Check diff hygiene
run: git diff --check
Loading
Loading