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
26 changes: 1 addition & 25 deletions .github/workflows/fail-fast-spec-validation.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,9 @@
name: Fail-Fast Spec Validation

on:
pull_request:
paths:
- 'spec/**'
- '.ae/**'
push:
branches: [main]
paths:
- 'spec/**'
- '.ae/**'
- 'artifacts/**'
- 'schema/**'
- 'docs/schemas/**'
- 'specs/formal/**'
- 'packages/spec-compiler/**'
- 'src/cli/**'
- 'package.json'
- 'pnpm-lock.yaml'
- '.github/workflows/fail-fast-spec-validation.yml'
workflow_call:
# Allow this workflow to be called by other workflows
workflow_dispatch:

Comment thread
ootakazuhiko marked this conversation as resolved.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand Down Expand Up @@ -198,10 +181,3 @@ jobs:
AE_IR_SIZE=$(du -h .ae/ae-ir.json | cut -f1)
printf "%s\n" "::notice::Generated AE-IR size: $AE_IR_SIZE"
fi

# Call dependent workflows only after validation passes
downstream-validation:
needs: fail-fast-validation
if: success()
uses: ./.github/workflows/spec-validation.yml
secrets: inherit
7 changes: 1 addition & 6 deletions .github/workflows/spec-check.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
name: Spec Check

on:
pull_request:
paths:
- 'specs/formal/**'
- '.github/workflows/spec-check.yml'
- 'scripts/formal/verify-tla.mjs'
- 'package.json'
workflow_call:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand Down
31 changes: 30 additions & 1 deletion .github/workflows/spec-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,15 @@ on:
- 'schema/**'
- 'docs/schemas/**'
- 'specs/formal/**'
- 'packages/spec-compiler/**'
- 'src/cli/**'
- 'scripts/formal/verify-tla.mjs'
- 'package.json'
- 'pnpm-lock.yaml'
- '.github/workflows/spec-validation.yml'
- '.github/workflows/validate-artifacts-ajv.yml'
- '.github/workflows/fail-fast-spec-validation.yml'
- '.github/workflows/spec-check.yml'
push:
branches: [main, develop]
paths:
Expand All @@ -19,8 +26,16 @@ on:
- 'schema/**'
- 'docs/schemas/**'
- 'specs/formal/**'
- 'packages/spec-compiler/**'
- 'src/cli/**'
- 'scripts/formal/verify-tla.mjs'
- 'package.json'
- 'pnpm-lock.yaml'
- '.github/workflows/spec-validation.yml'
- '.github/workflows/validate-artifacts-ajv.yml'
- '.github/workflows/fail-fast-spec-validation.yml'
- '.github/workflows/spec-check.yml'
workflow_dispatch:
workflow_call:
# Allow other workflows to call this validation

Expand All @@ -33,7 +48,20 @@ permissions:
pull-requests: write

jobs:
fail-fast-spec:
name: Fail-Fast Spec Validation
if: github.event_name != 'push' || github.ref == 'refs/heads/main'
Comment thread
ootakazuhiko marked this conversation as resolved.
uses: ./.github/workflows/fail-fast-spec-validation.yml
Comment thread
ootakazuhiko marked this conversation as resolved.

spec-check:
name: Spec Check
needs: fail-fast-spec
if: (github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch') && needs.fail-fast-spec.result != 'failure'
uses: ./.github/workflows/spec-check.yml

spec-validation:
needs: fail-fast-spec
if: always() && needs.fail-fast-spec.result != 'failure'
runs-on: ubuntu-latest
timeout-minutes: 10

Expand Down Expand Up @@ -221,7 +249,8 @@ jobs:
printf "%s\n" "See documentation for AE-Spec format guidelines."

validate-artifacts:
if: github.event_name == 'pull_request'
needs: fail-fast-spec
if: always() && needs.fail-fast-spec.result != 'failure' && github.event_name == 'pull_request'
uses: ./.github/workflows/validate-artifacts-ajv.yml
with:
strict: ${{ contains(github.event.pull_request.labels.*.name, 'enforce-artifacts') }}
Loading