Update actions/checkout action to v4 - autoclosed #90
Workflow file for this run
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-ignore: | |
- "docs/**" | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "docs/**" | |
- "**.md" | |
jobs: | |
# Run the `rustfmt` code formatter | |
rustfmt: | |
name: Rustfmt [Formatter] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt | |
override: true | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
# Run the `clippy` linting tool | |
clippy: | |
name: Clippy [Linter] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install -y libsdl2-dev libasound2-dev | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: clippy | |
override: true | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-targets --all-features -- -D clippy::all | |
# Run a security audit on dependencies | |
cargo_audit: | |
name: Cargo Audit [Security] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- run: cargo install --force cargo-audit | |
- run: cargo generate-lockfile | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: audit | |
# Ensure that the project could be successfully compiled | |
cargo_check: | |
name: Compile | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install -y libsdl2-dev libasound2-dev | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all | |
# Run tests on Linux | |
# On both Rust stable and Rust nightly | |
test: | |
name: Test Suite | |
needs: [cargo_check] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
rust: [stable, nightly] | |
steps: | |
# Checkout the branch being tested | |
- uses: actions/checkout@v4 | |
# Install all the required dependencies for testing | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
# Install Node.js at a fixed version | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: "12.0" | |
# Install Ruby at a fixed version | |
- uses: actions/setup-ruby@v1 | |
with: | |
ruby-version: "2.6" | |
# Install Python at a fixed version | |
- uses: actions/setup-python@v1 | |
with: | |
python-version: "3.7" | |
# Install dotnet at a fixed version | |
- uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: "2.2.402" | |
- name: Install dependencies | |
run: sudo apt-get install -y libsdl2-dev libasound2-dev | |
# Run the ignored tests that expect the above setup | |
- name: Run all tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: -- -Z unstable-options --include-ignored |