From e9141e97c1c73081c5c092e208f8ab8f417d3fa3 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 9 May 2022 14:52:46 -0400 Subject: ci: Move rust-bindings CI to toplevel It should replace our stub one. --- .github/workflows/rust.yml | 55 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 9 deletions(-) (limited to '.github') diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index ef6e38a7..d047c8c7 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,31 +1,68 @@ ---- name: Rust +permissions: + actions: read + on: push: - branches: [main] + branches: [ main ] pull_request: - branches: [main] - -permissions: - contents: read + branches: [ main ] env: CARGO_TERM_COLOR: always - ACTIONS_LINTS_TOOLCHAIN: 1.53.0 + CARGO_PROJECT_FEATURES: "v2021_3" + # Minimum supported Rust version (MSRV) + ACTION_MSRV_TOOLCHAIN: 1.54.0 + # Pinned toolchain for linting + ACTION_LINTS_TOOLCHAIN: 1.56.0 jobs: + build: + runs-on: ubuntu-latest + container: quay.io/coreos-assembler/fcos-buildroot:testing-devel + steps: + - uses: actions/checkout@v2 + - name: Cache Dependencies + uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72 + - name: Build + run: cargo build --verbose --features=${{ env['CARGO_PROJECT_FEATURES'] }} + - name: Run tests + run: cargo test --verbose --features=${{ env['CARGO_PROJECT_FEATURES'] }} + build-minimum-toolchain: + name: "Build, minimum supported toolchain (MSRV)" + runs-on: ubuntu-latest + container: quay.io/coreos-assembler/fcos-buildroot:testing-devel + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Remove system Rust toolchain + run: dnf remove -y rust cargo + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env['ACTION_MSRV_TOOLCHAIN'] }} + default: true + - name: Cache Dependencies + uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72 + - name: cargo build + run: cargo build --features=${{ env['CARGO_PROJECT_FEATURES'] }} linting: name: "Lints, pinned toolchain" runs-on: ubuntu-latest + container: quay.io/coreos-assembler/fcos-buildroot:testing-devel steps: - name: Checkout repository uses: actions/checkout@v2 + - name: Remove system Rust toolchain + run: dnf remove -y rust cargo - name: Install toolchain uses: actions-rs/toolchain@v1 with: - toolchain: ${{ env['ACTIONS_LINTS_TOOLCHAIN'] }} + toolchain: ${{ env['ACTION_LINTS_TOOLCHAIN'] }} default: true components: rustfmt, clippy - name: cargo fmt (check) - run: cargo fmt -- --check -l + run: cargo fmt -p ostree -- --check -l + - name: cargo clippy (warnings) + run: cargo clippy -p ostree --features=${{ env['CARGO_PROJECT_FEATURES'] }} -- -D warnings -- cgit v1.2.1