Skip to content

Commit

Permalink
ci: add smoke-tests workflow
Browse files Browse the repository at this point in the history
This workflow is separate from the main workflow and runs the
`--ignored` smoke tests that rely on (often flaky) 3rd party servers.

We run this CI workflow on a daily schedule, or on-demand with
a trigger, separate from the main workflow.
  • Loading branch information
cpu committed Jul 30, 2024
1 parent e58d2e2 commit 85a2d7a
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/smoke-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: smoke-tests

permissions:
contents: read

on:
workflow_dispatch:
schedule:
# We run these tests on a daily basis (at a time slightly offset from the
# top of the hour), because they rely on external 3rd party services that
# can be flaky.
- cron: '15 18 * * *'

jobs:
smoke-tests:
name: Smoke Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
# test a bunch of toolchains on ubuntu
rust:
- stable
- beta
- nightly
os: [ ubuntu-latest ]
# but only stable on macos/windows (slower platforms)
include:
- os: macos-latest
rust: stable
- os: windows-latest
rust: stable
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Install ${{ matrix.rust }} toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}

- name: Install NASM for aws-lc-rs on Windows
if: runner.os == 'Windows'
uses: ilammy/setup-nasm@v1

- name: Build main crate
run: cargo build --locked

- name: Run smoke tests
run: cargo test --locked -- --ignored
env:
RUST_BACKTRACE: 1

0 comments on commit 85a2d7a

Please sign in to comment.