Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
[test-groups]
# These smoketests rebuild or reconfigure shared TS/C#/C++ toolchain artifacts.
# Keep them mutually exclusive so the rest of the Rust smoketests can continue
# to run under nextest's normal parallel execution.
smoketests-toolchain = { max-threads = 1 }

[[profile.default.overrides]]
filter = 'package(spacetimedb-smoketests) & test(/^smoketests::csharp_module::/)'
test-group = 'smoketests-toolchain'

[[profile.default.overrides]]
filter = 'package(spacetimedb-smoketests) & test(/^smoketests::templates::/)'
test-group = 'smoketests-toolchain'

[[profile.default.overrides]]
filter = 'package(spacetimedb-smoketests) & test(/^smoketests::change_host_type::/)'
test-group = 'smoketests-toolchain'

[[profile.default.overrides]]
filter = 'package(spacetimedb-smoketests) & test(/^smoketests::quickstart::test_quickstart_(csharp|typescript|cpp)$/)'
test-group = 'smoketests-toolchain'

[[profile.default.overrides]]
filter = 'package(spacetimedb-smoketests) & test(/^smoketests::views::test_(csharp|typescript)_/)'
test-group = 'smoketests-toolchain'
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,9 @@ jobs:
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest

# --test-threads=1 eliminates contention in the C# tests where they fight over bindings
# build artifacts.
# It also seemed to improve performance a fair amount (11m -> 6m)
# In CI this uses cargo-nextest. Keep the libtest harness on a single thread per
# test process, and let .config/nextest.toml serialize only the shared TS/C#/C++
# smoketests while the Rust smoketests continue to run concurrently.
- name: Run smoketests (Linux)
if: runner.os == 'Linux'
shell: bash
Expand All @@ -169,7 +169,7 @@ jobs:
if (Test-Path "$env:USERPROFILE\emsdk\emsdk_env.ps1") {
& "$env:USERPROFILE\emsdk\emsdk_env.ps1" | Out-Null
}
cargo ci smoketests -- --test-threads=1
cargo ci smoketests -- --test-threads=1

- name: Check for changes
run: |
Expand Down
Loading