oops #33
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: CI | |
on: | |
push: | |
paths: ['**.rs', '**.toml', '**/ci.yml'] | |
pull_request: | |
paths: ['**.rs', '**.toml', '**/ci.yml'] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
ubuntu: | |
name: full check on ubuntu (${{ matrix.toolchain }} channel) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, beta, nightly] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: switch to ${{ matrix.toolchain }} channel and download mold | |
run: | | |
rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
rustup component add rustfmt clippy | |
sudo apt-get update && sudo apt-get install mold | |
- name: build | |
run: mold -run cargo b -v --profile testing | |
- name: fmt and clippy check | |
if: ${{ matrix.toolchain == 'nightly' }} | |
run: cargo fmt -- --check; mold -run cargo clippy --profile testing -- -D warnings | |
- name: test | |
run: mold -run cargo t -v --profile testing | |
macos: | |
name: full check on macos (${{ matrix.toolchain }} channel) | |
runs-on: macos-14 | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, beta, nightly] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: switch to ${{ matrix.toolchain }} channel | |
run: | | |
rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
rustup component add rustfmt clippy | |
- name: build | |
run: cargo b -v --profile testing | |
- name: fmt and clippy check | |
if: ${{ matrix.toolchain == 'nightly' }} | |
run: cargo fmt -- --check; cargo clippy --profile testing -- -D warnings | |
- name: test | |
run: cargo t -v --profile testing | |
- name: very pedantic clippy | |
if: ${{ matrix.toolchain == 'nightly' }} | |
run: | | |
RUSTFLAGS="-Zmacro-backtrace" \ | |
rustup run nightly cargo clippy --profile testing --all -- \ | |
-W clippy::all \ | |
-W clippy::pedantic \ | |
-W clippy::restriction \ | |
-W clippy::nursery || true | |
msys2: | |
name: full check on windows (msys2 - ${{ matrix.sys }}) | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
sys: [CLANG64, UCRT64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
msystem: ${{ matrix.sys }} | |
pacboy: rust:p | |
- name: build | |
run: msys2 -c 'cargo b -v --profile testing' | |
- name: test | |
run: msys2 -c 'cargo t -v --profile testing' |