ci: pin the SpacetimeDB CLI to 2.8.1 #1
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
mobrule/mobrule-ci!1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/pin-spacetime-2.8.1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pins the SpacetimeDB CLI to an explicit version instead of taking whatever upstream called latest on the day the image happened to be built.
Merge and rebuild this image before merging the matching
mobrulecrate bump. Workflows there consumemobrule-ci:latest, so the rebuild propagates on its own — but until it does,check-bindings-sync.shwill fail.Why it is load-bearing
mobrule'scheck-bindings-sync.shregeneratesmodule_bindings/using whatever CLI this image carries, then fails on any diff. Codegen output changes between CLI versions.So an unpinned install means a routine image rebuild can redden every
mobrulebuild with roughly 1,900 lines of binding drift, with no commit to point at. The existing-I 'generated using spacetimedb cli version'exclusion in that script only hides the version comment — it does nothing about changed trait impls.This was reproduced rather than assumed: with 2.8.1 bindings staged and a 2.2.0 CLI active, the check fails with
28 files changed, 1932 deletions(-).What changed
ARG SPACETIME_VERSION=2.8.1, so a bump is a one-line change with a commit attachedspacetime version install/version use)PATH, rather than shipping a silently wrong imageVerified
Built in a clean
ubuntu:24.04container:The assertion was exercised by the build itself — the
grepruns on every build, so a mismatch fails the layer.Why 2.8.1 specifically
Not 2.7.0: it swapped in upstream
jsonwebtoken, which cannot validate a JWT whose header carries non-string extra fields. Reverted in 2.7.1, so anything from 2.7.1 up is safe.The version here should track the
spacetimedbcrate version inmobrule. Bump both in the same change.