Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
973339e
Split cargo ci subcommands into packages
clockwork-labs-bot Aug 7, 2026
0272d77
Fix wasm bindings CI command path
clockwork-labs-bot Aug 7, 2026
2c10c76
Replace gh run watch in Internal Tests
clockwork-labs-bot Aug 7, 2026
b4533da
Revert "Replace gh run watch in Internal Tests"
clockwork-labs-bot Aug 7, 2026
5b30bff
Merge remote-tracking branch 'origin/master' into bot/split-public-ca…
clockwork-labs-bot Aug 9, 2026
7166640
Split CI workflow helpers into packages
clockwork-labs-bot Aug 9, 2026
22a3096
Address CI command review comments
clockwork-labs-bot Aug 9, 2026
ffcaa08
Finish CI command review fixes
clockwork-labs-bot Aug 9, 2026
7da2130
Inline CI dlls command
clockwork-labs-bot Aug 9, 2026
0848cd3
Prune unused CI command deps
clockwork-labs-bot Aug 9, 2026
7447514
Inline CI keynote bench command
clockwork-labs-bot Aug 9, 2026
39db97d
Finish CI command review cleanup
clockwork-labs-bot Aug 9, 2026
f2c8936
Inline CI TypeScript test command
clockwork-labs-bot Aug 9, 2026
cedce19
Keep CI keynote bench package
clockwork-labs-bot Aug 9, 2026
f61a431
Restore split CI command binaries
clockwork-labs-bot Aug 9, 2026
84e12a0
Match split command argument handling
clockwork-labs-bot Aug 9, 2026
f74f418
Restore clap CI command dispatch
clockwork-labs-bot Aug 9, 2026
539edb5
Address cargo ci review comments
clockwork-labs-bot Aug 9, 2026
430a678
Allow CLI output in split CI commands
clockwork-labs-bot Aug 9, 2026
07cf1ed
Preserve smoketest runner args
clockwork-labs-bot Aug 9, 2026
c2ba677
Address cargo ci review followups
clockwork-labs-bot Aug 9, 2026
d02e783
Inline coordinate internal tests entrypoint
clockwork-labs-bot Aug 9, 2026
3d5d8fa
Apply suggestion from @bfops
bfops Aug 9, 2026
c1e9dbd
Render split cargo ci help from child commands
clockwork-labs-bot Aug 9, 2026
323cd2a
Delegate split cargo ci help
clockwork-labs-bot Aug 9, 2026
a7dc141
Use split binary help for cargo ci subcommands
clockwork-labs-bot Aug 9, 2026
cb1cdf5
Trim split help docs output
clockwork-labs-bot Aug 9, 2026
40bac67
Keep simple CI docs compact
clockwork-labs-bot Aug 9, 2026
a841ee0
Remove cargo ci self-docs
clockwork-labs-bot Aug 9, 2026
2a76f40
Address cargo ci split review
clockwork-labs-bot Aug 9, 2026
577f1f3
[bot/split-public-cargo-ci]: remove unneeded
bfops Aug 9, 2026
ccad6be
[bot/split-public-cargo-ci]: Merge branch 'bot/split-public-cargo-ci'…
bfops Aug 9, 2026
accb6d4
[bot/split-public-cargo-ci]: remove
bfops Aug 9, 2026
0115f5f
Use split command args for cargo ci help
clockwork-labs-bot Aug 9, 2026
14fa25e
Update cargo ci lockfile
clockwork-labs-bot Aug 9, 2026
cdae211
Move cargo ci args to slim package
clockwork-labs-bot Aug 9, 2026
710611c
Merge remote-tracking branch 'origin/master' into HEAD
clockwork-labs-bot Aug 12, 2026
ef43489
Address cargo ci split reviews
clockwork-labs-bot Aug 12, 2026
5406bb6
Match private cargo ci dispatcher style
clockwork-labs-bot Aug 12, 2026
845d3ab
Remove shared cargo ci args crate
clockwork-labs-bot Aug 12, 2026
1e61512
Remove deprecated cargo ci dlls command
clockwork-labs-bot Aug 12, 2026
54dbda8
[bot/split-public-cargo-ci]: fix
bfops Aug 12, 2026
9db6e33
[bot/split-public-cargo-ci]: Merge branch 'bot/split-public-cargo-ci'…
bfops Aug 12, 2026
24c240e
Remove redundant ci command parser wrappers
clockwork-labs-bot Aug 12, 2026
05dcba4
Flatten CLA assistant command parser
clockwork-labs-bot Aug 12, 2026
57440f0
Use conventional CLA assistant parser names
clockwork-labs-bot Aug 12, 2026
369f3c0
Inline workflow watch loop
clockwork-labs-bot Aug 12, 2026
4398621
Allow CLI output macros in workflow watch
clockwork-labs-bot Aug 12, 2026
c9da972
[bot/split-public-cargo-ci]: fix release job
bfops Aug 12, 2026
0e1843e
[bot/split-public-cargo-ci]: rename
bfops Aug 12, 2026
5a60058
[bfops/rollback-safety]: Rollback safety
bfops Aug 12, 2026
e39e5ab
[bfops/rollback-safety]: update
bfops Aug 12, 2026
b3f0234
[bot/split-public-cargo-ci]: upload timing reports
bfops Aug 12, 2026
7a482a9
Merge branch 'master' into bot/split-public-cargo-ci
joshua-spacetime Aug 13, 2026
ff77c53
[bfops/rollback-safety]: tests
bfops Aug 13, 2026
c5e3793
[bfops/rollback-safety]: move code
bfops Aug 13, 2026
b34df94
[bfops/rollback-safety]: move
bfops Aug 13, 2026
078bbda
[bfops/rollback-safety]: rename
bfops Aug 13, 2026
b8ce588
[bfops/rollback-safety]: WIP
bfops Aug 13, 2026
7696021
Apply suggestion from @bfops
bfops Aug 13, 2026
2337fee
[bfops/rollback-safety]: comment
bfops Aug 13, 2026
e2921dc
[bfops/rollback-safety]: Merge branch 'bfops/rollback-safety' of gith…
bfops Aug 13, 2026
6ff1639
[bfops/rollback-safety]: concurrency groups
bfops Aug 13, 2026
8c1acb1
[bfops/rollback-safety]: better message when no deps
bfops Aug 13, 2026
7c22ca3
Merge branch 'bot/split-public-cargo-ci' into bfops/rollback-safety
bfops Aug 13, 2026
c2b0dd2
[bfops/rollback-safety]: Merge commit 'origin/master~1' into bfops/ro…
bfops Aug 13, 2026
6b13c76
[bfops/rollback-safety]: Merge remote-tracking branch 'origin/master'…
bfops Aug 13, 2026
1feb6ea
[bfops/rollback-safety]: Merge remote-tracking branch 'origin/master'…
bfops Aug 13, 2026
e2bae30
[bfops/rollback-safety]: review
bfops Aug 14, 2026
6b72266
[bfops/rollback-safety]: move
bfops Aug 14, 2026
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
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@
<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

# Rollback safety impact

<!--
If this PR is safe to roll back after deployment and has no impact on the rollback safety of any prior PRs, write `n/a` below.

Otherwise, list every prerequisite PR that must be included in a release before this PR can merge. This PR must not be deployed until each prerequisite has been deployed and sufficiently observed or tested in the live deployment that we are confident it will not be rolled back. Supported forms include #123, SpacetimeDB#123, clockworklabs/SpacetimeDB#123, and GitHub PR URLs.

Consider whether this PR:
- newly writes to a previously introduced but unused ControlDB table or reducer, system table, or on-disk data format; or
- clears, deletes, incompatibly changes, or renders unsupported a previously available ControlDB table or reducer, system table, or on-disk data format.
-->

# Expected complexity level and risk

<!--
Expand Down
26 changes: 25 additions & 1 deletion .github/workflows/check-pr-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@ name: Git tree checks

on:
pull_request:
types: [opened, edited]
types: [opened, reopened, edited]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated fix: run properly on reopened PRs

# TODO: This isn't used, probably remove it?
merge_group:
permissions: read-all

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.inputs.pr_number || format('sha-{0}', github.sha) }}
cancel-in-progress: true

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated fix: have later jobs cancel previous ones, e.g. if you edit the PR description several times quickly


jobs:
check_base_ref:
name: Based on `master`
Expand All @@ -18,3 +23,22 @@ jobs:
run: |
echo "This PR is not based on master. Please wait until the base PR merges."
exit 1

release_dependencies:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is an odd place to add this job, but this is kind of where we have put job(s) that depend on PR metadata rather than just commit contents. Thoughts? ci.yml doesn't run on PR edit events, but this workflow does

if: ${{ github.event_name == 'pull_request' }}
name: Check release dependencies
runs-on: spacetimedb-new-runner-2
permissions:
contents: read
pull-requests: read
env:
GH_TOKEN: ${{ github.token }}
CARGO_TARGET_DIR: ${{ github.workspace }}/target
steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Check release dependencies
run: >-
cargo ci other-workflows check-release-deps
--repo clockworklabs/SpacetimeDB
--pr-number "${{ github.event.pull_request.number }}"
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,7 @@ jobs:
RUST_BACKTRACE: full
TARGET_TRIPLE: x86_64-unknown-linux-gnu
OPENSSL_CACHE_SUFFIX: ""
GH_TOKEN: ${{ github.token }}
steps:
- name: Find Git ref
env:
Expand Down
21 changes: 21 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,15 @@ members = [
"tools/ci/commands/cla-assistant",
"tools/ci/commands/coordinate-internal-tests",
"tools/ci/commands/workflow-watch",
"tools/ci/commands/check-release-deps",
"tools/ci/common",
"tools/keynote-bench-harness",
"tools/license-check",
"tools/replace-spacetimedb",
"tools/generate-client-api",
"tools/gen-bindings",
"tools/release",
"tools/lookup-pr-release",
"tools/regen",
"tools/xtask-llm-benchmark",
"crates/bindings-typescript/test-app/server",
Expand Down
14 changes: 14 additions & 0 deletions tools/ci/commands/check-release-deps/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[package]
name = "ci-check-release-deps"
version = "0.1.0"
edition.workspace = true

[dependencies]
anyhow.workspace = true
clap.workspace = true
lookup-pr-release = { path = "../../../lookup-pr-release" }
regex.workspace = true
serde.workspace = true

[lints]
workspace = true
Loading
Loading