summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2022-05-09 14:52:46 -0400
committerColin Walters <walters@verbum.org>2022-05-09 14:52:46 -0400
commite9141e97c1c73081c5c092e208f8ab8f417d3fa3 (patch)
tree3ed581aa6b5ea82d3bb0e89d72eaa3ae40478a8e /.github
parentee2c31badd02ddc7693055ee89de2876830c6c0a (diff)
downloadostree-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.yml55
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