Skip to content
98 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

Merge branch 'main' into worktree-agent-a69aeabc4b0deeb971# Tests every pull request into main, so main can always be deployed. The
2# "Default branch" ruleset requires this workflow ("CI") to pass before a
3# pull request merges; people may still push to main directly, agents
4# may not. Deploy (deploy.yml) ships what lands on main.
5#
6# rust every crate's tests, natively
7# typescript type checks and tests of the apps and TS services, the
8# deploy and ops scripts, and the deploy manifest
9# build the site, sudo and the docs build as they deploy
Merge remote-tracking branch 'origin/main' into workspace-chat10#
11# On a push to main only `rust` runs, to keep main's caches current: a pull
12# request's run restores from main's cache, never from another pull
13# request's, so without it each pull request would start from nothing.
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9714name: CI
15
16on:
17 pull_request:
18 branches: [main]
Merge remote-tracking branch 'origin/main' into workspace-chat19 push:
20 branches: [main]
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9721 workflow_dispatch:
22
Merge branch 'worktree-agent-a3abfcce648e87dca'23# Its token only reads: it checks the code out and nothing more.
24permissions:
25 contents: read
26
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9727concurrency:
28 group: ci-${{ github.ref }}
29 cancel-in-progress: true
30
31env:
32 CARGO_TERM_COLOR: never
33 WRANGLER_SEND_METRICS: "false"
34
35jobs:
36 rust:
37 name: Rust
38 runs-on: g1t-4core
39 timeout-minutes: 45
40 steps:
41 - uses: actions/checkout@v5
42 - name: Cache crates
43 uses: actions/cache@v4
44 with:
45 path: ~/.cargo/registry/cache
46 key: cargo-crates-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}
47 restore-keys: cargo-crates-${{ runner.os }}-
48 - name: Cache the test build
49 uses: actions/cache@v4
50 with:
51 path: |
52 target/debug
53 !target/debug/incremental
54 key: cargo-test-${{ runner.os }}-${{ hashFiles('Cargo.lock', 'services/runner/base.json') }}
55 restore-keys: cargo-test-${{ runner.os }}-
Merge remote-tracking branch 'origin/main' into workspace-chat56 # The workspace's library crates, which Cargo compiles again on every
57 # checkout, come back from the repository's Actions cache when their
58 # inputs did not change (scripts/sccache.sh). Test harnesses and
59 # Workers' own crates are linked, and still compiled.
60 - name: sccache
61 run: bash scripts/sccache.sh install
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9762 - name: Tests
63 run: cargo test --workspace --locked --quiet
Merge remote-tracking branch 'origin/main' into workspace-chat64 - name: sccache's hits and misses
65 if: ${{ always() }}
66 run: bash scripts/sccache.sh stats
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9767
68 typescript:
69 name: TypeScript
Merge remote-tracking branch 'origin/main' into workspace-chat70 if: ${{ github.event_name != 'push' }}
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9771 runs-on: ubuntu-latest
72 timeout-minutes: 30
73 steps:
74 - uses: actions/checkout@v5
75 - name: Install
76 run: npm ci --no-audit --no-fund
77 - name: Type checks
78 run: npm run typecheck
79 - name: Tests
80 run: npm test --workspaces --if-present
81 - name: The deploy tool's tests
82 run: npm run test:deploy
83 - name: The ops scripts' tests
84 run: npm run test:ops
85 - name: The manifest matches every wrangler.jsonc
86 run: node scripts/deploy.mjs manifest --check
87
88 build:
89 name: Build
Merge remote-tracking branch 'origin/main' into workspace-chat90 if: ${{ github.event_name != 'push' }}
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9791 runs-on: ubuntu-latest
92 timeout-minutes: 30
93 steps:
94 - uses: actions/checkout@v5
95 - name: Install
96 run: npm ci --no-audit --no-fund
97 - name: The site, sudo and the docs
98 run: node scripts/deploy.mjs build --only web,sudo,docs

This file's history is long; its oldest lines are credited to the oldest commit read.