Skip to content

Shard smoketests using nextest - #5705

Open
joshua-spacetime wants to merge 9 commits into
masterfrom
joshua/ci/shard-smoketests
Open

Shard smoketests using nextest#5705
joshua-spacetime wants to merge 9 commits into
masterfrom
joshua/ci/shard-smoketests

Conversation

@joshua-spacetime

Copy link
Copy Markdown
Collaborator

Description of Changes

Shards both the linux and windows smoketests using nextest. Each shard is executed independently from the others in its own job on its own runner. Shards can be re-run independently as well, and they don't have to rebuild anything. Not spacetimedb-standalone, not the smoketest modules, not even the tests themselves.

API and ABI breaking changes

N/A

Expected complexity level and risk

3

Testing

N/A

Comment thread crates/guard/src/lib.rs
Comment thread tools/ci/src/smoketest.rs
@joshua-spacetime
joshua-spacetime force-pushed the joshua/ci/shard-smoketests branch from d362d99 to adaad6d Compare August 10, 2026 23:38
Comment thread .github/workflows/ci.yml
overwrite: true
retention-days: 14

upload-build-artifacts-windows:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think this is one place where having a new action does make sense - it would contain the upload, build, and partitions jobs, and then would be called by a smoketest-${platform} job in a matrix (like the old job)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

the yaml anchor stuff is neat but it feels a bit harder to read through and reason about

Comment thread tools/ci/src/smoketest.rs
"There is a diff in the smoketests directory."
);
Ok(())
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit: I don't love the duplication between run_smoketest and run_smoketest_archive - it seems like we could update one and forget to update the other. Maybe a shared function that takes at FnOnce for the actual smoketest run logic?

not a hard blocker if we just want to merge this.

@bfops bfops Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

on second thought, maybe we just add a TODO for the next time we're touching this code

@bfops bfops left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this looks basically excellent. One preference for a refactor in the yaml and a couple of nits.

@bfops

bfops commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

merging in master so that if more changes are pushed they won't hit the API rate limit issues we've been having

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants