Skip to content

ci: pin sdk-ref default to a main SHA in sync-sdk-compliance (#66) #225

ci: pin sdk-ref default to a main SHA in sync-sdk-compliance (#66)

ci: pin sdk-ref default to a main SHA in sync-sdk-compliance (#66) #225

name: Validate Capabilities
on:
push:
branches: [main]
pull_request:
paths:
- "capabilities/**"
- "schema/**"
- "scripts/capability-matrix/**"
- "scripts/dart_symbol_extractor/**"
- ".github/workflows/validate-capabilities.yml"
schedule:
- cron: "0 6 * * *" # nightly drift sweep
defaults:
run:
working-directory: scripts/capability-matrix
jobs:
structural:
name: Tier 1 (structural)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22"
- run: npm ci
- run: npm test
- run: npm run typecheck
- run: npm run validate
dart-parser:
name: Dart parser (format, analyze, test)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260 # v1.7.2
- working-directory: scripts/dart_symbol_extractor
run: dart pub get
- working-directory: scripts/dart_symbol_extractor
run: dart format --output=none --set-exit-if-changed .
- working-directory: scripts/dart_symbol_extractor
run: dart analyze
- working-directory: scripts/dart_symbol_extractor
run: dart test
references:
name: Tier 2 (references)
runs-on: ubuntu-latest
needs: structural
if: github.event_name == 'pull_request' || github.event_name == 'schedule'
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22"
- run: npm ci
- name: Validate references (changed files on PR, all files nightly)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run validate:online