Skip to content

Bump cargo-subcommand from 0.11.0 to 0.12.0 #2829

Bump cargo-subcommand from 0.11.0 to 0.12.0

Bump cargo-subcommand from 0.11.0 to 0.12.0 #2829

Workflow file for this run

name: Northstar CI
on:
push:
branches-ignore:
- 'dependabot/**'
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
DOCKER_BUILDKIT: 1
jobs:
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt
profile: minimal
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Cargo fmt --check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
deny:
name: 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@v4
- uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check ${{ matrix.checks }}
clippy:
permissions: write-all
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.70.0
steps:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-features
hack:
name: Hack
runs-on: ubuntu-latest
steps:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: Checkout
uses: actions/checkout@v4
- name: Hack
run: cargo hack --feature-powerset check
test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Install cargo make
uses: davidB/rust-cargo-make@v1
- name: Install mold
uses: rui314/setup-mold@v1
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Checkout
uses: actions/checkout@v4
- name: Install mksquashfs
uses: ./.github/actions/squashfs-tools
- name: Build containers
run: cargo make
- name: Test
uses: actions-rs/cargo@v1
with:
command: nextest
args: run
- name: Doc tests
run: cargo test --doc
doc:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Build Documentation
run: |
cargo doc --no-deps -p northstar-runtime --all-features
cargo doc --no-deps -p northstar-client --all-features
md:
name: Lint markdown files
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Lint markdown
uses: docker://avtodev/markdown-lint:v1
with:
args: './README.md northstar-sextant/README.md'
- name: Lint markdown links
uses: gaurav-nelson/github-action-markdown-link-check@v1
cross:
name: Cross
runs-on: ubuntu-latest
strategy:
matrix:
target:
- aarch64-linux-android
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
steps:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Cross
run: cargo install --git https://github.com/cross-rs/cross.git --rev 99b8069 cross
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --target=${{ matrix.target }} --all-features
tools:
name: Tools
runs-on: ubuntu-latest
steps:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Mold
uses: rui314/setup-mold@v1
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Checkout
uses: actions/checkout@v4
- name: Install northstar-nstar
run: cargo install --path northstar-nstar
- name: Install northstar-sextant
run: cargo install --path northstar-sextant
- name: Install northstar-stress
run: cargo install --path northstar-stress