Skip to content

Commit 8bee97f

Browse files
committed
ci: add daily test workflow for slower tests
This commit adds a `daily-tests.yml` GitHub actions workflow. It's triggered by a cron schedule to run once a day. Presently it only runs opt-in ignored tests but in the future we can extend it with other slow running tasks we don't want to have bog down our main CI process.
1 parent 2ffc1d2 commit 8bee97f

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

.github/workflows/daily-tests.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: daily-tests
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
schedule:
8+
# We run these tests on a daily basis (at a time slightly offset from the
9+
# top of the hour), as their runtime is either too long for the usual per-PR
10+
# CI, or because they rely on external 3rd party services that can be flaky.
11+
- cron: '15 18 * * *'
12+
13+
jobs:
14+
ignored:
15+
# Run slower tests we make opt-in with the #[ignore] annotation.
16+
name: Ignored tests
17+
runs-on: ${{ matrix.os }}
18+
strategy:
19+
matrix:
20+
# test a bunch of toolchains on ubuntu
21+
rust:
22+
- stable
23+
- beta
24+
- nightly
25+
os: [ubuntu-20.04]
26+
# but only stable on macos/windows (slower platforms)
27+
include:
28+
- os: macos-latest
29+
rust: stable
30+
- os: windows-latest
31+
rust: stable
32+
steps:
33+
- name: Checkout sources
34+
uses: actions/checkout@v4
35+
with:
36+
persist-credentials: false
37+
38+
- name: Install ${{ matrix.rust }} toolchain
39+
uses: dtolnay/rust-toolchain@master
40+
with:
41+
toolchain: ${{ matrix.rust }}
42+
43+
- name: Run ignored tests
44+
run: cargo test -- --ignored
45+
env:
46+
RUST_BACKTRACE: 1

0 commit comments

Comments
 (0)