Test cargo-semverchecks #195
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: | ||
pull_request: | ||
branches: | ||
- main | ||
push: | ||
# Check for new issues from updated dependencies once a week (Friday noon). | ||
schedule: | ||
- cron: "0 12 * * 5" | ||
workflow_dispatch: | ||
jobs: | ||
# -------------------------------------------------------------------------- | ||
# LINT | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Lint | install dependencies | ||
run: | | ||
sudo sed -i 's/azure.archive.ubuntu.com/archive.ubuntu.com/' /etc/apt/sources.list | ||
sudo apt-get -qq update | ||
sudo apt install -qq -y libudev-dev | ||
- name: Lint | checkout | ||
uses: actions/checkout@v2 | ||
- name: Lint | install toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
components: clippy, rustfmt | ||
- name: Lint | rust-cache | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Lint | check formatting | ||
run: cargo fmt -- --check | ||
- name: Lint | clippy | ||
run: cargo clippy --all-targets --all-features | ||
# -------------------------------------------------------------------------- | ||
# MSRV | ||
# | ||
# Check at least once per platform. | ||
msrv-aarch64-apple-darwin: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: aarch64-apple-darwin | ||
toolchain: "1.59.0" | ||
msrv-arm-linux-androideabi: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: arm-linux-androideabi | ||
toolchain: "1.59.0" | ||
msrv-x86_64-unknown-freebsd: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: x86_64-unknown-freebsd | ||
toolchain: "1.59.0" | ||
msrv-x86_64-unknown-linux-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
extra_packages: libudev-dev | ||
target: x86_64-unknown-linux-gnu | ||
toolchain: "1.59.0" | ||
msrv-x86_64-unknown-linux-musl: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
extra_packages: gcc-aarch64-linux-gnu | ||
target: aarch64-unknown-linux-musl | ||
toolchain: "1.59.0" | ||
msrv-x86_64-pc-windows-msvc: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
runs_on: windows-2019 | ||
target: x86_64-pc-windows-msvc | ||
toolchain: "1.59.0" | ||
msrv-x86_64-unknown-netbsd: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: x86_64-unknown-netbsd | ||
toolchain: "1.59.0" | ||
# -------------------------------------------------------------------------- | ||
# Semantic Versioning | ||
# | ||
# Check at least once per platform as we heavily depend on platform-specific | ||
# code. | ||
semver-aarch64-apple-darwin: | ||
steps: | ||
- uses: obi1kenobi/cargo-semver-checks-action@v2 | ||
# -------------------------------------------------------------------------- | ||
# cargo-deny | ||
cargo-deny: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
checks: | ||
- advisories | ||
- bans licenses sources | ||
# Prevent sudden announcement of a new advisory from failing ci: | ||
continue-on-error: ${{ matrix.checks == 'advisories' }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: EmbarkStudios/cargo-deny-action@v1 | ||
with: | ||
command: check ${{ matrix.checks }} | ||
# -------------------------------------------------------------------------- | ||
# BUILD | ||
aarch64-apple-darwin: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_tests: true | ||
runs_on: macos-latest | ||
target: aarch64-apple-darwin | ||
aarch64-apple-ios: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_tests: true | ||
runs_on: macos-latest | ||
target: aarch64-apple-ios | ||
aarch64-unknown-linux-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
extra_packages: libudev-dev gcc-aarch64-linux-gnu libc6-dev-arm64-cross | ||
target: aarch64-unknown-linux-gnu | ||
aarch64-unknown-linux-musl: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_tests: true | ||
extra_packages: gcc-aarch64-linux-gnu | ||
target: aarch64-unknown-linux-musl | ||
arm-linux-androideabi: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: arm-linux-androideabi | ||
armv7-linux-androideabi: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: armv7-linux-androideabi | ||
i686-pc-windows-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
runs_on: windows-2019 | ||
target: i686-pc-windows-gnu | ||
i686-pc-windows-msvc: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
runs_on: windows-2019 | ||
target: i686-pc-windows-msvc | ||
i686-unknown-linux-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
extra_packages: libudev-dev gcc-multilib | ||
target: i686-unknown-linux-gnu | ||
i686-unknown-linux-musl: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
extra_packages: libudev-dev gcc-multilib | ||
target: i686-unknown-linux-musl | ||
x86_64-apple-darwin: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
runs_on: macos-latest | ||
target: x86_64-apple-darwin | ||
x86_64-pc-windows-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
runs_on: windows-2019 | ||
target: x86_64-pc-windows-gnu | ||
x86_64-pc-windows-msvc: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
runs_on: windows-2019 | ||
target: x86_64-pc-windows-msvc | ||
x86_64-unknown-freebsd: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: x86_64-unknown-freebsd | ||
x86_64-unknown-linux-gnu: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
extra_packages: libudev-dev | ||
target: x86_64-unknown-linux-gnu | ||
x86_64-unknown-linux-musl: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
target: x86_64-unknown-linux-musl | ||
x86_64-unknown-netbsd: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
disable_extra_builds: true | ||
disable_tests: true | ||
target: x86_64-unknown-netbsd | ||
# -------------------------------------------------------------------------- | ||
# NIGHTLY BUILD | ||
aarch64-apple-darwin-nightly: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
continue-on-error: true | ||
disable_tests: true | ||
runs_on: macos-latest | ||
target: aarch64-apple-darwin | ||
toolchain: nightly | ||
x86_64-pc-windows-msvc-nightly: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
continue-on-error: true | ||
runs_on: windows-2019 | ||
target: x86_64-pc-windows-msvc | ||
toolchain: nightly | ||
x86_64-unknown-linux-gnu-nightly: | ||
uses: ./.github/workflows/build.yaml | ||
with: | ||
continue-on-error: true | ||
extra_packages: libudev-dev | ||
target: x86_64-unknown-linux-gnu | ||
toolchain: nightly |