2121 include :
2222 - { runner: spacetimedb-runner, smoketest_args: --docker }
2323 - { runner: windows-latest, smoketest_args: --no-build-cli }
24- runner : [ spacetimedb-runner, windows-latest ]
24+ runner : [spacetimedb-runner, windows-latest]
2525 runs-on : ${{ matrix.runner }}
2626 steps :
2727 - name : Find Git ref
7676 - name : Install psycopg2
7777 run : python -m pip install psycopg2-binary
7878 - name : Run smoketests
79- # Note: clear_database and replication only work in private
80- run : python -m smoketests ${{ matrix.smoketest_args }} -x clear_database replication
79+ run : cargo ci smoketests -- ${{ matrix.smoketest_args }}
80+
8181 - name : Stop containers (Linux)
8282 if : always() && runner.os == 'Linux'
8383 run : docker compose down
@@ -109,26 +109,9 @@ jobs:
109109 with :
110110 global-json-file : global.json
111111
112- - name : Create /stdb dir
113- run : |
114- sudo mkdir /stdb
115- sudo chmod 777 /stdb
116-
117112 - name : Run cargo test
118113 # Note: Unreal tests will be run separately
119- run : cargo test --all -- --skip unreal
120-
121- - name : Check that the test outputs are up-to-date
122- run : bash tools/check-diff.sh
123-
124- - name : Ensure C# autogen bindings are up-to-date
125- run : |
126- cargo run -p spacetimedb-codegen --example regen-csharp-moduledef
127- bash tools/check-diff.sh crates/bindings-csharp
128-
129- - name : C# bindings tests
130- working-directory : crates/bindings-csharp
131- run : dotnet test -warnaserror
114+ run : cargo ci test
132115
133116 lints :
134117 name : Lints
@@ -145,29 +128,7 @@ jobs:
145128 global-json-file : global.json
146129
147130 - name : Run cargo fmt
148- run : cargo fmt --all -- --check
149-
150- - name : Run cargo clippy
151- run : cargo clippy --all --tests --benches -- -D warnings
152-
153- - name : Run C# formatting check
154- working-directory : crates/bindings-csharp
155- run : |
156- dotnet tool restore
157- dotnet csharpier --check .
158-
159- - name : Run `cargo doc` for bindings crate
160- # `bindings` is the only crate we care strongly about documenting,
161- # since we link to its docs.rs from our website.
162- # We won't pass `--no-deps`, though,
163- # since we want everything reachable through it to also work.
164- # This includes `sats` and `lib`.
165- working-directory : crates/bindings
166- env :
167- # Make `cargo doc` exit with error on warnings, most notably broken links
168- RUSTDOCFLAGS : ' --deny warnings'
169- run : |
170- cargo doc
131+ run : cargo ci lint
171132
172133 wasm_bindings :
173134 name : Build and test wasm bindings
@@ -179,20 +140,7 @@ jobs:
179140 - run : echo ::add-matcher::.github/workflows/rust_matcher.json
180141
181142 - name : Run bindgen tests
182- run : cargo test -p spacetimedb-codegen
183-
184- # Make sure the `Cargo.lock` file reflects the latest available versions.
185- # This is what users would end up with on a fresh module, so we want to
186- # catch any compile errors arising from a different transitive closure
187- # of dependencies than what is in the workspace lock file.
188- #
189- # For context see also: https://github.com/clockworklabs/SpacetimeDB/pull/2714
190- - name : Update dependencies
191- run : cargo update
192-
193- - name : Build module-test
194- run : cargo run -p spacetimedb-cli -- build --project-path modules/module-test
195-
143+ run : cargo ci wasm-bindings
196144
197145 publish_checks :
198146 name : Check that packages are publishable
@@ -245,19 +193,9 @@ jobs:
245193 run : sudo apt install -y libssl-dev
246194
247195 - name : Build spacetimedb-update
248- run : cargo build --features github-token-auth --target ${{ matrix.target }} -p spacetimedb-update
249-
250- - name : Run self-install
251196 env :
252197 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
253- shell : bash
254- run : |
255- ROOT_DIR="$(mktemp -d)"
256- # NOTE(bfops): We need the `github-token-auth` feature because we otherwise tend to get ratelimited when we try to fetch `/releases/latest`.
257- # My best guess is that, on the GitHub runners, the "anonymous" ratelimit is shared by *all* users of that runner (I think this because it
258- # happens very frequently on the `macos-runner`, but we haven't seen it on any others).
259- cargo run --features github-token-auth --target ${{ matrix.target }} -p spacetimedb-update -- self-install --root-dir="${ROOT_DIR}" --yes
260- "${ROOT_DIR}"/spacetime --root-dir="${ROOT_DIR}" help
198+ run : cargo ci update-flow --target=${{ matrix.target }}
261199
262200 unreal_engine_tests :
263201 name : Unreal Engine Tests
@@ -296,6 +234,15 @@ jobs:
296234 with :
297235 ref : ${{ env.GIT_REF }}
298236 - uses : dsherret/rust-toolchain-file@v1
237+ - name : Install unreal engine test dependencies
238+ working-directory : sdks/unreal
239+ env :
240+ UE_ROOT_PATH : /home/ue4/UnrealEngine
241+ run : |
242+
243+ apt-get update
244+ apt-get install -y acl curl ca-certificates
245+
299246 - name : Run Unreal Engine tests
300247 working-directory : sdks/unreal
301248 env :
0 commit comments