authorgravatar for me@t3.ggTheo Browne <me@t3.gg> 2026-07-30 11:25:31-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-07-30 14:25:31-04:00
loge4829603ff70bdeac96780e1512ac2c09638e5a3
tree05fa22e21c654ef8be1fcc78c19a08934d03837c
parent1d77cec991971d3113918e896b1c871e8b044da7
signature Signed by PGP key B5690EEEBB952194

perf(ci): cut stale runs and redundant setup (#4802)


6 files changed, 126 insertions(+), 14 deletions(-)

.github/workflows/ci.yml+31-3
......@@ -6,6 +6,10 @@ on:
66 branches:
77 - main
88
9concurrency:
10 group: ci-${{ github.event.pull_request.number || github.sha }}
11 cancel-in-progress: ${{ github.event_name == 'pull_request' }}
12
913jobs:
1014 check:
1115 name: Check
......@@ -14,6 +18,11 @@ jobs:
1418 steps:
1519 - name: Checkout
1620 uses: actions/checkout@v6
21 with:
22 sparse-checkout: |
23 /*
24 !/.repos/
25 sparse-checkout-cone-mode: false
1726
1827 - name: Setup Vite+
1928 uses: voidzero-dev/setup-vp@v1
......@@ -55,6 +64,11 @@ jobs:
5564 steps:
5665 - name: Checkout
5766 uses: actions/checkout@v6
67 with:
68 sparse-checkout: |
69 /*
70 !/.repos/
71 sparse-checkout-cone-mode: false
5872
5973 - name: Setup Vite+
6074 uses: voidzero-dev/setup-vp@v1
......@@ -77,18 +91,25 @@ jobs:
7791
7892 mobile_native_static_analysis:
7993 name: Mobile Native Static Analysis
80 runs-on: blacksmith-12vcpu-macos-26
94 runs-on: blacksmith-6vcpu-macos-26
8195 timeout-minutes: 10
8296 steps:
8397 - name: Checkout
8498 uses: actions/checkout@v6
99 with:
100 sparse-checkout: |
101 /*
102 !/.repos/
103 sparse-checkout-cone-mode: false
85104
86105 - name: Setup Vite+
87106 uses: voidzero-dev/setup-vp@v1
88107 with:
89108 node-version-file: package.json
90109 cache: true
91 run-install: true
110 run-install: |
111 args:
112 - --filter=@t3tools/scripts...
92113
93114 - name: Install mobile native static analysis tools
94115 run: brew bundle install --file apps/mobile/Brewfile
......@@ -103,13 +124,20 @@ jobs:
103124 steps:
104125 - name: Checkout
105126 uses: actions/checkout@v6
127 with:
128 sparse-checkout: |
129 /*
130 !/.repos/
131 sparse-checkout-cone-mode: false
106132
107133 - name: Setup Vite+
108134 uses: voidzero-dev/setup-vp@v1
109135 with:
110136 node-version-file: package.json
111137 cache: true
112 run-install: true
138 run-install: |
139 args:
140 - --filter=@t3tools/scripts...
113141
114142 - name: Exercise release-only workflow steps
115143 run: node scripts/release-smoke.ts
.github/workflows/deploy-relay.yml+8-1
......@@ -38,13 +38,20 @@ jobs:
3838 steps:
3939 - name: Checkout
4040 uses: actions/checkout@v6
41 with:
42 sparse-checkout: |
43 /*
44 !/.repos/
45 sparse-checkout-cone-mode: false
4146
4247 - name: Setup Vite+
4348 uses: voidzero-dev/setup-vp@v1
4449 with:
4550 node-version-file: package.json
4651 cache: true
47 run-install: true
52 run-install: |
53 args:
54 - --filter=t3code-relay...
4855
4956 - name: Deploy production relay stage
5057 id: deploy
.github/workflows/mobile-eas-preview.yml+14-3
......@@ -2,13 +2,18 @@ name: Mobile EAS Preview
22
33on:
44 pull_request:
5 types: [opened, reopened, synchronize, labeled, unlabeled]
5 types: [opened, reopened, synchronize, labeled]
66
77jobs:
88 preview:
99 name: EAS Preview
10 if: contains(github.event.pull_request.labels.*.name, '🚀 Mobile Continuous Deployment')
10 if: |
11 contains(github.event.pull_request.labels.*.name, '🚀 Mobile Continuous Deployment') &&
12 (github.event.action != 'labeled' || github.event.label.name == '🚀 Mobile Continuous Deployment')
1113 runs-on: blacksmith-8vcpu-ubuntu-2404
14 concurrency:
15 group: mobile-eas-preview-${{ github.event.pull_request.number }}
16 cancel-in-progress: true
1217 permissions:
1318 contents: read
1419 pull-requests: write
......@@ -34,6 +39,10 @@ jobs:
3439 uses: actions/checkout@v6
3540 with:
3641 fetch-depth: 0
42 sparse-checkout: |
43 /*
44 !/.repos/
45 sparse-checkout-cone-mode: false
3746
3847 - name: Setup Vite+
3948 if: steps.expo-token.outputs.present == 'true'
......@@ -41,7 +50,9 @@ jobs:
4150 with:
4251 node-version-file: package.json
4352 cache: true
44 run-install: true
53 run-install: |
54 args:
55 - --filter=@t3tools/mobile...
4556
4657 - name: Expose pnpm
4758 if: steps.expo-token.outputs.present == 'true'
.github/workflows/mobile-eas-production.yml+7-1
......@@ -57,6 +57,10 @@ jobs:
5757 uses: actions/checkout@v6
5858 with:
5959 fetch-depth: 0
60 sparse-checkout: |
61 /*
62 !/.repos/
63 sparse-checkout-cone-mode: false
6064
6165 - name: Setup Vite+
6266 if: steps.expo-token.outputs.present == 'true'
......@@ -64,7 +68,9 @@ jobs:
6468 with:
6569 node-version-file: package.json
6670 cache: true
67 run-install: true
71 run-install: |
72 args:
73 - --filter=@t3tools/mobile...
6874
6975 - name: Expose pnpm
7076 if: steps.expo-token.outputs.present == 'true'
.github/workflows/mobile-showcase-screenshots.yml+18-2
......@@ -37,13 +37,21 @@ jobs:
3737 steps:
3838 - name: Checkout
3939 uses: actions/checkout@v6
40 with:
41 sparse-checkout: |
42 /*
43 !/.repos/
44 sparse-checkout-cone-mode: false
4045
4146 - name: Setup Vite+
4247 uses: voidzero-dev/setup-vp@v1
4348 with:
4449 node-version-file: package.json
4550 cache: true
46 run-install: true
51 run-install: |
52 args:
53 - --filter=@t3tools/mobile...
54 - --filter=@t3tools/scripts...
4755
4856 - name: Expose pnpm
4957 run: |
......@@ -77,13 +85,21 @@ jobs:
7785 steps:
7886 - name: Checkout
7987 uses: actions/checkout@v6
88 with:
89 sparse-checkout: |
90 /*
91 !/.repos/
92 sparse-checkout-cone-mode: false
8093
8194 - name: Setup Vite+
8295 uses: voidzero-dev/setup-vp@v1
8396 with:
8497 node-version-file: package.json
8598 cache: true
86 run-install: true
99 run-install: |
100 args:
101 - --filter=@t3tools/mobile...
102 - --filter=@t3tools/scripts...
87103
88104 - name: Expose pnpm
89105 run: |
.github/workflows/release.yml+48-4
......@@ -38,6 +38,10 @@ jobs:
3838 uses: actions/checkout@v6
3939 with:
4040 fetch-depth: 0
41 sparse-checkout: |
42 /*
43 !/.repos/
44 sparse-checkout-cone-mode: false
4145
4246 - id: check
4347 name: Compare HEAD to last nightly tag
......@@ -84,6 +88,10 @@ jobs:
8488 uses: actions/checkout@v6
8589 with:
8690 fetch-depth: 0
91 sparse-checkout: |
92 /*
93 !/.repos/
94 sparse-checkout-cone-mode: false
8795
8896 - name: Setup Vite+
8997 uses: voidzero-dev/setup-vp@v1
......@@ -192,6 +200,10 @@ jobs:
192200 uses: actions/checkout@v6
193201 with:
194202 ref: ${{ needs.preflight.outputs.ref }}
203 sparse-checkout: |
204 /*
205 !/.repos/
206 sparse-checkout-cone-mode: false
195207
196208 - name: Setup Vite+
197209 uses: voidzero-dev/setup-vp@v1
......@@ -269,14 +281,19 @@ jobs:
269281 uses: actions/checkout@v6
270282 with:
271283 ref: ${{ needs.preflight.outputs.ref }}
272 fetch-depth: 0
284 sparse-checkout: |
285 /*
286 !/.repos/
287 sparse-checkout-cone-mode: false
273288
274289 - name: Setup Vite+
275290 uses: voidzero-dev/setup-vp@v1
276291 with:
277292 node-version-file: package.json
278293 cache: true
279 run-install: true
294 run-install: |
295 args:
296 - --filter=t3...
280297
281298 - name: Build node-pty linux-x64 prebuild
282299 shell: bash
......@@ -359,14 +376,21 @@ jobs:
359376 uses: actions/checkout@v6
360377 with:
361378 ref: ${{ needs.preflight.outputs.ref }}
362 fetch-depth: 0
379 sparse-checkout: |
380 /*
381 !/.repos/
382 sparse-checkout-cone-mode: false
363383
364384 - name: Setup Vite+
365385 uses: voidzero-dev/setup-vp@v1
366386 with:
367387 node-version-file: package.json
368388 cache: true
369 run-install: true
389 run-install: |
390 args:
391 - --filter=@t3tools/desktop...
392 - --filter=t3...
393 - --filter=@t3tools/scripts...
370394
371395 - name: Setup Rust
372396 uses: dtolnay/rust-toolchain@stable
......@@ -657,6 +681,10 @@ jobs:
657681 uses: actions/checkout@v6
658682 with:
659683 ref: ${{ needs.preflight.outputs.ref }}
684 sparse-checkout: |
685 /*
686 !/.repos/
687 sparse-checkout-cone-mode: false
660688
661689 - name: Setup Vite+
662690 uses: voidzero-dev/setup-vp@v1
......@@ -732,6 +760,10 @@ jobs:
732760 uses: actions/checkout@v6
733761 with:
734762 ref: ${{ needs.preflight.outputs.ref }}
763 sparse-checkout: |
764 /*
765 !/.repos/
766 sparse-checkout-cone-mode: false
735767
736768 - name: Setup Vite+
737769 uses: voidzero-dev/setup-vp@v1
......@@ -853,6 +885,10 @@ jobs:
853885 uses: actions/checkout@v6
854886 with:
855887 ref: ${{ needs.preflight.outputs.ref }}
888 sparse-checkout: |
889 /*
890 !/.repos/
891 sparse-checkout-cone-mode: false
856892
857893 - name: Setup Vite+
858894 uses: voidzero-dev/setup-vp@v1
......@@ -967,6 +1003,10 @@ jobs:
9671003 fetch-depth: 0
9681004 token: ${{ steps.app_token.outputs.token }}
9691005 persist-credentials: true
1006 sparse-checkout: |
1007 /*
1008 !/.repos/
1009 sparse-checkout-cone-mode: false
9701010
9711011 - id: app_bot
9721012 name: Resolve GitHub App bot identity
......@@ -1037,6 +1077,10 @@ jobs:
10371077 uses: actions/checkout@v6
10381078 with:
10391079 ref: ${{ needs.preflight.outputs.ref }}
1080 sparse-checkout: |
1081 /*
1082 !/.repos/
1083 sparse-checkout-cone-mode: false
10401084
10411085 - name: Setup Vite+
10421086 uses: voidzero-dev/setup-vp@v1