Skip to content

Commit 384c9c0

Browse files
committed
Merge revised environment publishing into V10 ABI extensions
2 parents 776689b + 678dfb6 commit 384c9c0

114 files changed

Lines changed: 2825 additions & 668 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/attach-artifacts.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ on:
99

1010
jobs:
1111
upload-assets:
12-
runs-on: spacetimedb-linux
12+
# This only downloads existing artifacts and attaches them to a GitHub release.
13+
runs-on: spacetimedb-linux-small
1314
permissions:
1415
contents: write # needed to modify releases
1516

@@ -60,4 +61,3 @@ jobs:
6061
gh release upload "$RELEASE_TAG" ./* \
6162
--repo "$GITHUB_REPOSITORY" \
6263
--clobber
63-

.github/workflows/check-merge-labels.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ permissions: read-all
1010
jobs:
1111
label_checks:
1212
name: Check merge labels
13-
runs-on: spacetimedb-linux
13+
# This only inspects event labels and performs no checkout or build.
14+
runs-on: spacetimedb-linux-small
1415
steps:
1516
- if: github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'do not merge')
1617
run: |

.github/workflows/check-pr-base.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ concurrency:
1313
jobs:
1414
check_base_ref:
1515
name: Based on `master`
16-
runs-on: spacetimedb-linux
16+
# This only evaluates the event base ref and performs no build.
17+
runs-on: spacetimedb-linux-small
1718
steps:
1819
- id: not_based_on_master
1920
if: |
@@ -26,7 +27,8 @@ jobs:
2627
release_dependencies:
2728
if: ${{ github.event_name == 'pull_request' }}
2829
name: Check release dependencies
29-
runs-on: spacetimedb-linux
30+
# This builds a small CI helper and inspects release metadata and git history.
31+
runs-on: spacetimedb-linux-small
3032
permissions:
3133
contents: read
3234
pull-requests: read

.github/workflows/ci.yml

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ permissions:
2424
jobs:
2525
merge_queue_noop:
2626
name: Merge queue no-op/reuse
27-
runs-on: spacetimedb-linux
27+
# This compares git trees and builds only the small workflow-coordinator helper.
28+
runs-on: spacetimedb-linux-small
2829
permissions:
2930
actions: write
3031
contents: read
@@ -560,7 +561,8 @@ jobs:
560561
- name: Windows 2/4
561562
- name: Windows 3/4
562563
- name: Windows 4/4
563-
runs-on: spacetimedb-linux
564+
# These no-op jobs only preserve required smoketest check names after CI reuse.
565+
runs-on: spacetimedb-linux-small
564566
steps:
565567
- name: Skip duplicate merge queue smoketest
566568
run: echo "Merge queue commit has the same tree as the PR head; smoketest already ran for the PR."
@@ -759,7 +761,8 @@ jobs:
759761
codeowners_check:
760762
if: ${{ github.event_name == 'pull_request' }}
761763
name: CODEOWNERS check
762-
runs-on: spacetimedb-linux
764+
# This builds a small CI helper and checks changed paths and GitHub reviews.
765+
runs-on: spacetimedb-linux-small
763766
permissions:
764767
contents: read
765768
pull-requests: read
@@ -824,7 +827,8 @@ jobs:
824827
needs: [merge_queue_noop]
825828
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
826829
name: Check that packages are publishable
827-
runs-on: spacetimedb-linux
830+
# This builds a small CI helper and validates package metadata without compiling the workspace.
831+
runs-on: spacetimedb-linux-small
828832
permissions: read-all
829833
env:
830834
RUST_BACKTRACE: full
@@ -855,7 +859,8 @@ jobs:
855859
strategy:
856860
matrix:
857861
include:
858-
- { target: x86_64-unknown-linux-gnu, runner: spacetimedb-linux }
862+
# The Linux update-flow test uses released artifacts and builds only its small CI driver.
863+
- { target: x86_64-unknown-linux-gnu, runner: spacetimedb-linux-small }
859864
- { target: aarch64-apple-darwin, runner: macos-latest }
860865
- { target: x86_64-pc-windows-msvc, runner: windows-latest }
861866
runs-on: ${{ matrix.runner }}
@@ -905,7 +910,8 @@ jobs:
905910
- { target: x86_64-unknown-linux-gnu }
906911
- { target: aarch64-apple-darwin }
907912
- { target: x86_64-pc-windows-msvc }
908-
runs-on: spacetimedb-linux
913+
# These no-op jobs only preserve required update-flow check names after CI reuse.
914+
runs-on: spacetimedb-linux-small
909915
steps:
910916
- name: Skip duplicate merge queue update test
911917
run: echo "Merge queue commit has the same tree as the PR head; update-flow already ran for the PR."
@@ -1067,7 +1073,8 @@ jobs:
10671073
needs: [merge_queue_noop, lints, upload-build-artifacts-linux]
10681074
# Skip if this is an external contribution.
10691075
# The license secrets will be empty, so the step would fail anyway.
1070-
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork) }}
1076+
#if: ${{ needs.merge_queue_noop.outputs.skip != 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork) }}
1077+
if: false
10711078
permissions:
10721079
contents: read
10731080
checks: write
@@ -1206,7 +1213,8 @@ jobs:
12061213
needs: [merge_queue_noop, lints]
12071214
# Skip if this is an external contribution.
12081215
# The license secrets will be empty, so the step would fail anyway.
1209-
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork) }}
1216+
#if: ${{ needs.merge_queue_noop.outputs.skip != 'true' && (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork) }}
1217+
if: false
12101218
permissions:
12111219
contents: read
12121220
runs-on: spacetimedb-unity-runner
@@ -1266,6 +1274,7 @@ jobs:
12661274
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
12671275
permissions:
12681276
contents: read
1277+
# The .NET packaging, Godot project build, and integration test make this too heavy for a small runner.
12691278
runs-on: spacetimedb-linux
12701279
env:
12711280
ARTIFACT_SUFFIX: linux
@@ -1368,6 +1377,7 @@ jobs:
13681377
csharp-testsuite:
13691378
needs: [merge_queue_noop, lints, upload-build-artifacts-linux]
13701379
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
1380+
# The C# SDK build and tests saturated the small runner's CPU, so keep this on the main runner.
13711381
runs-on: spacetimedb-linux
13721382
timeout-minutes: 30
13731383
env:
@@ -1485,7 +1495,8 @@ jobs:
14851495
needs: [merge_queue_noop]
14861496
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
14871497
name: Verify global.json files are symlinks
1488-
runs-on: spacetimedb-linux
1498+
# This builds a small CI helper and checks symlink policy without building SpacetimeDB.
1499+
runs-on: spacetimedb-linux-small
14891500
permissions:
14901501
contents: read
14911502
env:
@@ -1529,7 +1540,8 @@ jobs:
15291540
needs: [merge_queue_noop]
15301541
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
15311542
name: Check smoketests/mod.rs is complete
1532-
runs-on: spacetimedb-linux
1543+
# This builds a tiny source-scanning helper and does not compile or run smoketests.
1544+
runs-on: spacetimedb-linux-small
15331545
permissions:
15341546
contents: read
15351547
env:
@@ -1565,6 +1577,7 @@ jobs:
15651577
needs: [merge_queue_noop]
15661578
if: ${{ needs.merge_queue_noop.outputs.skip != 'true' }}
15671579
name: Docs build
1580+
# Building the documentation site nearly saturated a small runner and used substantial memory.
15681581
runs-on: spacetimedb-linux
15691582
env:
15701583
RUST_BACKTRACE: full

.github/workflows/cla-gate.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ permissions:
1717
jobs:
1818
publish-cla-gate-status:
1919
name: CLA status
20-
runs-on: spacetimedb-linux
20+
# This only evaluates GitHub status metadata and publishes a commit status.
21+
runs-on: spacetimedb-linux-small
2122
if: github.event_name != 'status' || github.event.context == 'license/cla'
2223

2324
steps:

.github/workflows/discord-posts.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ permissions:
1111

1212
jobs:
1313
resolvePush:
14-
runs-on: spacetimedb-linux
14+
# This only resolves GitHub event metadata and performs no checkout or build.
15+
runs-on: spacetimedb-linux-small
1516
outputs:
1617
is_pr_merge: ${{ steps.resolve.outputs.is_pr_merge }}
1718
is_external: ${{ steps.resolve.outputs.is_external }}
@@ -80,7 +81,8 @@ jobs:
8081
8182
discordNotification:
8283
needs: resolvePush
83-
runs-on: spacetimedb-linux
84+
# This only queries pull-request checks and posts a Discord notification.
85+
runs-on: spacetimedb-linux-small
8486
if: needs.resolvePush.outputs.is_pr_merge == 'true'
8587
env:
8688
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -157,7 +159,8 @@ jobs:
157159
needs:
158160
- resolvePush
159161
- discordNotification
160-
runs-on: spacetimedb-linux
162+
# This failure path only posts a Discord notification.
163+
runs-on: spacetimedb-linux-small
161164
if: ${{ always() && (needs.resolvePush.result == 'failure' || needs.discordNotification.result == 'failure') }}
162165
steps:
163166
- name: Send failure notification
@@ -172,7 +175,8 @@ jobs:
172175
173176
warnDirectPush:
174177
needs: resolvePush
175-
runs-on: spacetimedb-linux
178+
# This only formats commit metadata and posts a Discord warning.
179+
runs-on: spacetimedb-linux-small
176180
if: needs.resolvePush.outputs.is_pr_merge != 'true'
177181
steps:
178182
- name: Warn about non-PR push
@@ -197,7 +201,8 @@ jobs:
197201
198202
invokePrivate:
199203
needs: resolvePush
200-
runs-on: spacetimedb-linux
204+
# This only dispatches the private workflow through the GitHub API.
205+
runs-on: spacetimedb-linux-small
201206
if: needs.resolvePush.outputs.is_pr_merge == 'true'
202207
permissions:
203208
contents: read

.github/workflows/docs-publish.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ on:
1010

1111
jobs:
1212
build:
13-
runs-on: spacetimedb-linux
13+
# This builds and uploads the documentation site, not SpacetimeDB binaries.
14+
runs-on: spacetimedb-linux-small
1415
steps:
1516
- name: Checkout repository
1617
uses: actions/checkout@v3

.github/workflows/docs-update-llms.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ on:
1414

1515
jobs:
1616
update-llms:
17-
runs-on: spacetimedb-linux
17+
# This builds documentation assets and updates one generated text file.
18+
runs-on: spacetimedb-linux-small
1819
steps:
1920
- name: Checkout repository
2021
uses: actions/checkout@v3

.github/workflows/internal-tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ jobs:
2727
# Skip if this is an external contribution. GitHub secrets will be empty, so the step would fail anyway.
2828
if: ${{ (github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/master'))
2929
&& (github.event_name != 'pull_request' || !github.event.pull_request.head.repo.fork) }}
30-
runs-on: spacetimedb-linux
30+
# This builds small workflow helpers, dispatches private CI, and waits for its result.
31+
runs-on: spacetimedb-linux-small
3132
env:
3233
TARGET_OWNER: clockworklabs
3334
TARGET_REPO: SpacetimeDBPrivate

.github/workflows/llm-benchmark-periodic.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ concurrency:
5050
jobs:
5151
prepare_matrix:
5252
name: Prepare benchmark matrix
53-
runs-on: spacetimedb-linux
53+
# This only parses workflow inputs into a JSON matrix and performs no benchmark work.
54+
runs-on: spacetimedb-linux-small
5455
outputs:
5556
languages: ${{ steps.matrix.outputs.languages }}
5657
steps:

0 commit comments

Comments
 (0)