From 7354428f023a6ed1c2b4c44c63299a20d5085951 Mon Sep 17 00:00:00 2001 From: TristanDebrunner Date: Sat, 18 Nov 2023 18:32:52 -0800 Subject: [PATCH] Move to GitHub Actions for CI --- .github/workflows/rust.yml | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/rust.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 00000000..e28257fb --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,63 @@ +name: Rust + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + merge_group: + +env: + CARGO_TERM_COLOR: always + RUSTFLAGS: "-D warnings" + +jobs: + build: + name: Test debug on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + + steps: + - uses: actions/checkout@v3 + - if: ${{ matrix.os == 'ubuntu-latest' }} + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: libssl-dev pkg-config libasound2-dev + version: latest + - uses: Swatinem/rust-cache@v2.7.0 + - name: Versions + run: cargo --version && rustc --version && cargo fmt -- --version && cargo clippy -- --version + - run: cargo fmt --all -- --check + - run: cargo clippy --all -- --deny=warnings + - run: cargo clippy --all --no-default-features -- --deny=warnings + - run: cargo audit --ignore RUSTSEC-2020-0056 --ignore RUSTSEC-2022-0048 --ignore RUSTSEC-2020-0071 + - run: cargo build --all + - run: cargo build --all --no-default-features + - run: cargo test --all + + build-release: + name: Test release on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macOS-latest] + + steps: + - uses: actions/checkout@v3 + - if: ${{ matrix.os == 'ubuntu-latest' }} + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: libssl-dev pkg-config libasound2-dev + version: latest + - uses: Swatinem/rust-cache@v2.7.0 + - name: Versions + run: cargo --version && rustc --version && cargo fmt -- --version && cargo clippy -- --version + - run: cargo fmt --all -- --check + - run: cargo clippy --release --all -- --deny=warnings + - run: cargo clippy --release --all --no-default-features -- --deny=warnings + - run: cargo build --release --all + - run: cargo build --release --all --no-default-features + - run: cargo test --release --all +