Use codex
for symbols (#5421)
#1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous integration | |
on: [push, pull_request, merge_group] | |
env: | |
RUSTFLAGS: "-Dwarnings" | |
RUSTDOCFLAGS: "-Dwarnings" | |
TYPST_TESTS_EXTENDED: true | |
jobs: | |
# This allows us to have one branch protection rule for the full test matrix. | |
# See: https://github.com/orgs/community/discussions/4324 | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
needs: [test-matrix] | |
if: always() | |
steps: | |
- name: Tests successful | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Tests failing | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 | |
test-matrix: | |
name: Tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/[email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo test --workspace --no-run | |
- run: cargo test --workspace --no-fail-fast | |
- name: Upload rendered test output | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-rendered-${{ matrix.os }} | |
path: tests/store/render/** | |
retention-days: 3 | |
- name: Update test artifacts | |
if: failure() | |
run: | | |
cargo test --workspace --test tests -- --update | |
echo 'updated_artifacts=1' >> "$GITHUB_ENV" | |
- name: Upload updated reference output (for use if the test changes are desired) | |
if: failure() && env.updated_artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tests-updated-${{ matrix.os }} | |
path: tests/ref/** | |
retention-days: 3 | |
checks: | |
name: Check clippy, formatting, and documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/[email protected] | |
with: | |
components: clippy, rustfmt | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo clippy --workspace --all-targets --all-features | |
- run: cargo fmt --check --all | |
- run: cargo doc --workspace --no-deps | |
min-version: | |
name: Check minimum Rust version | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/[email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo check --workspace | |
fuzz: | |
name: Check fuzzers | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-10-29 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo install --locked [email protected] | |
- run: cd tests/fuzz && cargo fuzz build --dev |