Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
921c76b
Pre-build SpacetimeDB binaries once for tests
cloutiertyler Jan 23, 2026
0df9a8b
Add Rust smoketests crate with sql and call test translations
cloutiertyler Jan 23, 2026
8ddcdc9
Add more smoketest translations and simplify call API
cloutiertyler Jan 23, 2026
7cc8e95
Add 5 more smoketest translations and background subscription support
cloutiertyler Jan 23, 2026
d830e22
Add timing breakdown and DEVELOP.md for smoketests
cloutiertyler Jan 23, 2026
b3de380
Add 5 more smoketest translations (7 tests total)
cloutiertyler Jan 23, 2026
2d996f3
Fix unnecessary rebuilds in ensure_binaries_built
cloutiertyler Jan 23, 2026
1db4180
Translate 5 more Python smoketests to Rust
cloutiertyler Jan 23, 2026
bea9069
Add views and auto_migration smoketest translations
cloutiertyler Jan 23, 2026
6373735
Add rls, energy, permissions smoketest translations
cloutiertyler Jan 23, 2026
60cba8d
Add new_user_flow and servers smoketest translations
cloutiertyler Jan 23, 2026
afb0a71
cargo fmt + don't block on lints for now
jdetter Jan 23, 2026
4f4aede
Fix smoketest CLI config isolation and identity switching
cloutiertyler Jan 23, 2026
dafa004
[tyler/translate-smoketests]: lints
bfops Jan 23, 2026
8b6506b
[tyler/translate-smoketests]: more lints
bfops Jan 23, 2026
447413b
[tyler/translate-smoketests]: more lints
bfops Jan 23, 2026
c18ff5c
[tyler/translate-smoketests]: more lints
bfops Jan 23, 2026
95308f2
[tyler/translate-smoketests]: update ci stuff
bfops Jan 23, 2026
ed2735e
[tyler/translate-smoketests]: fix build
bfops Jan 23, 2026
fdba9e5
[tyler/translate-smoketests]: CI fixes?
bfops Jan 23, 2026
09b53de
[tyler/translate-smoketests]: ci
bfops Jan 23, 2026
017a744
[tyler/translate-smoketests]: windows CI
bfops Jan 23, 2026
8ebf8e6
[tyler/translate-smoketests]: fix windows ci
bfops Jan 23, 2026
17cfed7
Add quickstart smoketest translation
cloutiertyler Jan 23, 2026
03bbd19
[tyler/translate-smoketests]: actually fix windows ci
bfops Jan 23, 2026
828cc2d
[tyler/translate-smoketests]: Merge branch 'tyler/translate-smoketest…
bfops Jan 23, 2026
157a814
cargo fmt --all
cloutiertyler Jan 23, 2026
f658b20
[tyler/translate-smoketests]: fix lints
bfops Jan 23, 2026
b8c31a9
[tyler/translate-smoketests]: lints
bfops Jan 23, 2026
da951e9
[tyler/translate-smoketests]: lints
bfops Jan 23, 2026
9835e1e
Add server restart smoketests
cloutiertyler Jan 23, 2026
70bae5b
[tyler/translate-smoketests]: lints
bfops Jan 23, 2026
61cf2b8
[tyler/translate-smoketests]: slim lint
bfops Jan 23, 2026
a2db6af
Fix clippy warnings in guard crate
cloutiertyler Jan 23, 2026
ab70631
Remove spacetime_local in favor of explicit --server flag
cloutiertyler Jan 23, 2026
bd146c5
cargo fmt
cloutiertyler Jan 23, 2026
147f273
Merge branch 'master' into tyler/translate-smoketests
cloutiertyler Jan 23, 2026
ba1f992
temp fix
bfops Jan 23, 2026
3c69f75
re-enable lints
bfops Jan 23, 2026
0f343aa
fix
bfops Jan 23, 2026
27be9ed
Merge branch 'master' into tyler/translate-smoketests
bfops Jan 23, 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
51 changes: 22 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,24 @@ concurrency:
cancel-in-progress: true

jobs:
docker_smoketests:
smoketests:
needs: [lints]
name: Smoketests
strategy:
matrix:
runner: [spacetimedb-new-runner, windows-latest]
include:
- runner: spacetimedb-new-runner
smoketest_args: --docker
container:
image: localhost:5000/spacetimedb-ci:latest
options: --privileged
- runner: windows-latest
smoketest_args: --no-build-cli
container: null
runs-on: ${{ matrix.runner }}
container: ${{ matrix.container }}
timeout-minutes: 120
env:
CARGO_TARGET_DIR: ${{ github.workspace }}/target
#env:
# CARGO_TARGET_DIR: ${{ github.workspace }}/target
steps:
- name: Find Git ref
env:
Expand Down Expand Up @@ -84,41 +82,36 @@ jobs:
if: runner.os == 'Windows'
run: choco install psql -y --no-progress
shell: powershell
- name: Build crates
run: cargo build -p spacetimedb-cli -p spacetimedb-standalone -p spacetimedb-update
- name: Start Docker daemon
if: runner.os == 'Linux'
run: /usr/local/bin/start-docker.sh

- name: Build and start database (Linux)
if: runner.os == 'Linux'
run: |
# Our .dockerignore omits `target`, which our CI Dockerfile needs.
rm .dockerignore
docker compose -f .github/docker-compose.yml up -d
- name: Build and start database (Windows)

- name: Update dotnet workloads
if: runner.os == 'Windows'
run: |
# Fail properly if any individual command fails
$ErrorActionPreference = 'Stop'
$PSNativeCommandUseErrorActionPreference = $true

Start-Process target/debug/spacetimedb-cli.exe -ArgumentList 'start --pg-port 5432'
cd modules
# the sdk-manifests on windows-latest are messed up, so we need to update them
dotnet workload config --update-mode manifests
dotnet workload update
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
if: runner.os == 'Windows'
- name: Install python deps
run: python -m pip install -r smoketests/requirements.txt

# This step shouldn't be needed, but somehow we end up with caches that are missing librusty_v8.a.
# ChatGPT suspects that this could be due to different build invocations using the same target dir,
# and this makes sense to me because we only see it in this job where we mix `cargo build -p` with
# `cargo build --manifest-path` (which apparently build different dependency trees).
# However, we've been unable to fix it so... /shrug
- name: Check v8 outputs
shell: bash
run: |
find "${CARGO_TARGET_DIR}"/ -type f | grep '[/_]v8' || true
if ! [ -f "${CARGO_TARGET_DIR}"/debug/gn_out/obj/librusty_v8.a ]; then
echo "Could not find v8 output file librusty_v8.a; rebuilding manually."
cargo clean -p v8 || true
cargo build -p v8
fi

- name: Run smoketests
# Note: clear_database and replication only work in private
run: cargo ci smoketests -- ${{ matrix.smoketest_args }} -x clear_database replication teams
- name: Stop containers (Linux)
if: always() && runner.os == 'Linux'
run: docker compose -f .github/docker-compose.yml down
run: cargo ci smoketests

test:
needs: [lints]
Expand Down
13 changes: 13 additions & 0 deletions Cargo.lock

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

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ members = [
"crates/query",
"crates/sats",
"crates/schema",
"crates/smoketests",
"sdks/rust",
"sdks/unreal",
"crates/snapshot",
Expand Down
Loading
Loading