From 8dc7d0d40bc2f5fed88ed13463b7521f2489e004 Mon Sep 17 00:00:00 2001 From: EdJoPaTo Date: Mon, 9 Aug 2021 08:09:14 +0200 Subject: [PATCH] ci(rust): improve workflow --- .github/workflows/rust.yml | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a945bad..edfb181 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -11,30 +11,42 @@ jobs: test: name: Test ${{ matrix.os }} ${{ matrix.toolchain }} runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.toolchain == 'nightly' }} + continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: include: + # Check stable on the main platforms and ensure there is not even a single warning - os: ubuntu-latest toolchain: stable clippyargs: -D clippy::pedantic -D warnings + experimental: false - os: macOS-latest toolchain: stable clippyargs: -D clippy::pedantic -D warnings + experimental: false + # Check beta/nightly (potentially buggy) and maybe get some glances on soon to be lints + - os: ubuntu-latest + toolchain: beta + clippyargs: -W clippy::pedantic + experimental: true - os: ubuntu-latest toolchain: nightly clippyargs: -W clippy::pedantic - # - os: ubuntu-latest - # toolchain: 1.41.1 # Debian 10 Buster - # clippyargs: -W clippy::pedantic -A unknown-lints -A clippy::unknown-clippy-lints - - os: ubuntu-latest - toolchain: 1.47.0 # Alpine 3.13 - clippyargs: -W clippy::pedantic -A unknown-lints -A clippy::unknown-clippy-lints + experimental: true + + # Check if it is still running on older Rust versions. + # Sometimes they dont have lint bugfixes which results in false positives -> Dont error, just warn. + # Also some specified lints are not yet existing in the older rust version -> allow unknown lints. - os: ubuntu-latest toolchain: 1.48.0 # Debian 11 Bullseye - clippyargs: -W clippy::pedantic -A unknown-lints -A clippy::unknown-clippy-lints + clippyargs: -A unknown-lints -A clippy::unknown-clippy-lints + experimental: false + - os: ubuntu-latest + toolchain: 1.52.0 # Alpine 3.14 + clippyargs: -A unknown-lints + experimental: false steps: - uses: actions/checkout@v2 @@ -58,7 +70,7 @@ jobs: command: test args: --verbose --all-features - release: + github-release: name: Release ${{ matrix.triple }} runs-on: ${{ matrix.os }} needs: test @@ -74,11 +86,11 @@ jobs: triple: armv7-unknown-linux-gnueabihf - os: ubuntu-latest triple: aarch64-unknown-linux-gnu + - os: macOS-latest triple: x86_64-apple-darwin - os: macOS-latest triple: aarch64-apple-darwin - steps: - uses: actions/checkout@v2 @@ -90,12 +102,12 @@ jobs: target: ${{ matrix.triple }} toolchain: stable - - name: Build release + - name: Build uses: actions-rs/cargo@v1 env: # TODO: Remove this once it's the default SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk with: command: build - args: --release --verbose --target ${{ matrix.triple }} + args: --release --verbose --all-features --target ${{ matrix.triple }} use-cross: ${{ runner.os == 'Linux' && matrix.triple != 'x86_64-unknown-linux-gnu' }}