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
4 changes: 2 additions & 2 deletions .github/workflows/codegen-models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ on:
paths:
- 'packages/utils/cli-registry.yaml'
branches:
- main
- 'feature/**'
[main]
pull_request:
paths:
- 'packages/utils/cli-registry.yaml'

jobs:
codegen:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ env:

jobs:
e2e-test:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: E2E Integration Test
runs-on: ${{ matrix.os }}
strategy:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/fleet-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,12 @@ name: Fleet E2E
# engine build), which rust-cache amortises on warm runs. The 20-minute job
# timeout is a cold-build ceiling, not the matrix runtime.

# NOTE on branches: the fleet stack is developed on `feat/fleet-*` branches that
# merge into each other before `main`, so the trigger must include them — gating
# on `[main]` alone leaves this job inert for the entire feature stack (it would
# only run after something reaches main). Update to `[main]` once the stack lands.
# NOTE on branches: CI runs only on this repository's `trunk` -> `main` PR and
# on pushes to `main` (see the job `if:`). Feature branches, including
# `feat/fleet-*`, merge into `trunk` without CI.
on:
push:
branches: [main, 'feat/fleet-**']
branches: [main]
paths:
- 'packages/fleet/**'
- 'packages/cli/**'
Expand Down Expand Up @@ -54,6 +53,7 @@ env:

jobs:
fleet-e2e:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Two-node fleet matrix
runs-on: ubuntu-latest
timeout-minutes: 20
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/large-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Large File Check
on: [pull_request]
jobs:
check:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/node-compat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,14 @@ concurrency:

jobs:
changes:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
uses: ./.github/workflows/detect-changes.yml
install-test:
name: Install Test (Node ${{ matrix.node-version }})
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down Expand Up @@ -83,7 +86,9 @@ jobs:
fresh-install:
name: Fresh Install (Node ${{ matrix.node-version }})
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/package-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,14 @@ env:

jobs:
changes:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
uses: ./.github/workflows/detect-changes.yml
validate:
name: Build & Validate
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
env:
NPM_CONFIG_FUND: false
Expand Down Expand Up @@ -199,7 +202,9 @@ jobs:
publish-fresh-install-build:
name: Publish Fresh Install Build
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
env:
NPM_CONFIG_FUND: false
Expand Down Expand Up @@ -248,9 +253,8 @@ jobs:
# provisioning an undeletable workspace; other same-repository PRs and
# main pushes must reuse the CI workspace.
if: >-
needs.changes.outputs.node_changed == 'true' &&
github.actor != 'dependabot[bot]' &&
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true' && github.actor != 'dependabot[bot]' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository))
runs-on: macos-latest
env:
NPM_CONFIG_FUND: false
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/prettier-fmt-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ jobs:
name: Auto-format Prettier files
runs-on: ubuntu-latest
# Only run on same-repo PRs where the bot can push back formatting commits.
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
Comment thread
cubic-dev-ai[bot] marked this conversation as resolved.
permissions:
contents: write
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/relay-evals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ env:

jobs:
evals:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Offline evals
runs-on: ubuntu-latest

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/relayflow-pr-proof-broker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ jobs:
build:
name: ${{ github.event_name == 'pull_request' && 'Validate PR-head Linux broker' || 'Build exact Linux broker' }}
if: >-
github.event_name != 'pull_request_target' ||
github.event.pull_request.head.repo.full_name == github.repository
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(github.event_name != 'pull_request_target' || github.event.pull_request.head.repo.full_name == github.repository)
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
Expand Down
25 changes: 19 additions & 6 deletions .github/workflows/rust-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@ env:

jobs:
changes:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
uses: ./.github/workflows/detect-changes.yml

rust-test:
name: Rust Tests (${{ matrix.os }})
needs: changes
if: needs.changes.outputs.rust_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.rust_changed == 'true')
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -42,7 +45,9 @@ jobs:
relay-pty-windows-test:
name: Relay PTY Synchronization Tests (windows-latest)
needs: changes
if: needs.changes.outputs.rust_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.rust_changed == 'true')
runs-on: windows-latest
timeout-minutes: 10
steps:
Expand All @@ -62,7 +67,9 @@ jobs:
rust-cross-compile:
name: Cross-compile check (${{ matrix.target }})
needs: changes
if: needs.changes.outputs.rust_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.rust_changed == 'true')
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -96,7 +103,9 @@ jobs:
rust-clippy:
name: Clippy (${{ matrix.os }})
needs: changes
if: needs.changes.outputs.rust_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.rust_changed == 'true')
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -115,7 +124,9 @@ jobs:
rust-fmt:
name: Format
needs: changes
if: needs.changes.outputs.rust_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.rust_changed == 'true')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -127,7 +138,9 @@ jobs:
sdk-check:
name: SDK TypeScript Check
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/rust-fmt-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ jobs:
name: Auto-format Rust code
runs-on: ubuntu-latest
# Only run on same-repo PRs where the bot can push back formatting commits.
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
permissions:
contents: write
steps:
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,16 @@ concurrency:

jobs:
changes:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
uses: ./.github/workflows/detect-changes.yml

# NPM audit for known vulnerabilities
npm-audit:
name: NPM Audit
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -57,7 +60,9 @@ jobs:
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(github.event_name == 'pull_request')
# This job requires the dependency graph to be enabled in repo settings
# Make it non-blocking until that's configured
continue-on-error: true
Expand All @@ -77,7 +82,9 @@ jobs:
codeql:
name: CodeQL Analysis
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest
permissions:
security-events: write
Expand All @@ -104,6 +111,7 @@ jobs:

# Secret scanning (check for accidentally committed secrets)
secrets-scan:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Secret Scanning
runs-on: ubuntu-latest
# Make non-blocking - review findings manually
Expand Down Expand Up @@ -135,7 +143,9 @@ jobs:
license-check:
name: License Compliance
needs: changes
if: needs.changes.outputs.node_changed == 'true'
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(needs.changes.outputs.node_changed == 'true')
runs-on: ubuntu-latest

steps:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/stress-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ concurrency:

jobs:
stress-test-orchestrator:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Orchestrator Stress Tests
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -78,6 +79,7 @@ jobs:
fi

stress-test-orchestrator-integration:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Orchestrator Integration Stress Tests
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -161,7 +163,9 @@ jobs:
name: Stress Test Summary
needs: [stress-test-orchestrator, stress-test-orchestrator-integration]
runs-on: ubuntu-latest
if: always()
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(always())

steps:
- name: Download all artifacts
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/targeted-feature-verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ concurrency:

jobs:
select:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Select Flows v2 shards
runs-on: ubuntu-24.04
timeout-minutes: 15
Expand Down Expand Up @@ -93,6 +94,7 @@ jobs:
retention-days: 14

targeted:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Flows v2 shard ${{ matrix.shard }}
needs: select
runs-on: ubuntu-24.04
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Test Build Scripts

on:
push:
branches: [main]
paths:
- 'scripts/build-bun.sh'
- 'scripts/sign-macos-binary.sh'
Expand All @@ -20,6 +21,7 @@ env:

jobs:
test-build-script:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Test build-bun.sh
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -107,6 +109,7 @@ jobs:
done

test-build-edge-cases:
if: (github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')
name: Test edge cases
runs-on: ubuntu-latest

Expand Down Expand Up @@ -154,7 +157,9 @@ jobs:
name: Summary
needs: [test-build-script, test-build-edge-cases]
runs-on: ubuntu-latest
if: always()
if: >-
((github.event_name != 'pull_request' && github.event_name != 'pull_request_target') || (github.head_ref == 'trunk' && github.event.pull_request.head.repo.full_name == github.repository && github.base_ref == 'main')) &&
(always())

steps:
- name: Summary
Expand Down
Loading
Loading