Skip to content

Commit

Permalink
chore(ci): test workflow embetterments (#2176)
Browse files Browse the repository at this point in the history
This branch makes the following changes to the CI test workflows:

- Consolidate all tests into a single workflow again. We had previously
  broken things out to allow restarting only some failed checks, but now
  GitHub Actions allows restarting individual jobs, which is much nicer,
  and we can combine everything into one workflow.
- Gate starting any tests/checks on an initial `cargo check` run. This
  should mean that if code doesn't compile, we don't spin up a huge
  number of test jobs that all end up failing, and delaying other PRs'
  CI runs.
- Use `cargo nextest` for running tests. This should make test runs a
  bit quicker, and also get us other nice features like retries for
  flaky tests.
- Switch to `taiki-e/install-action` for installing stuff like
  `cargo-hack`, `nextest`, and `wasm-pack`. This is a bit nicer than
  just `curl`ing stuff.
- Use a matrix for testing across toolchains/OSes, instead of having
  separate jobs. This reduces the complexity of the CI workflow a bit.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
  • Loading branch information
hawkw committed Jun 23, 2022
1 parent 153ac3c commit 39f9942
Show file tree
Hide file tree
Showing 11 changed files with 414 additions and 513 deletions.
12 changes: 12 additions & 0 deletions .config/nextest.toml
@@ -0,0 +1,12 @@
# recommended nextest profile for CI jobs (from
# https://nexte.st/book/configuration.html#profiles)
[profile.ci]
# Print out output for failing tests as soon as they fail, and also at the end
# of the run (for easy scrollability).
failure-output = "immediate-final"
# Do not cancel the test run on the first failure.
fail-fast = false

# TODO(eliza): uncomment this when we can get nicer JUnit output from nextest...
# [profile.ci.junit]
# path = "junit.xml"

0 comments on commit 39f9942

Please sign in to comment.