diff options
author | Colin Walters <walters@verbum.org> | 2022-05-09 14:52:46 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2022-05-09 14:52:46 -0400 |
commit | e9141e97c1c73081c5c092e208f8ab8f417d3fa3 (patch) | |
tree | 3ed581aa6b5ea82d3bb0e89d72eaa3ae40478a8e /.github | |
parent | ee2c31badd02ddc7693055ee89de2876830c6c0a (diff) | |
download | ostree-e9141e97c1c73081c5c092e208f8ab8f417d3fa3.tar.gz |
ci: Move rust-bindings CI to toplevel
It should replace our stub one.
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/rust.yml | 55 |
1 files changed, 46 insertions, 9 deletions
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 |