Skip to content

Use cargo-rbmt for CI and local testing #357

Use cargo-rbmt for CI and local testing

Use cargo-rbmt for CI and local testing #357

Workflow file for this run

name: Rust CI
on: [push, pull_request]
permissions: {}
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
check:
name: Check - ${{ matrix.task }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
task: [fmt --check, lint, docs]
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup build cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
- name: Setup cargo-rbmt
uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@6560b728ae6a81af9d92713b630ba26772fbd970
- name: Run ${{ matrix.task }}
run: cargo rbmt ${{ matrix.task }}
test:
name: Test - ${{ matrix.toolchain }} toolchain, ${{ matrix.lockfile }} deps
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: [stable, nightly, msrv]
lockfile: [minimal, recent]
exclude:
- toolchain: msrv
lockfile: recent
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup build cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
- name: Setup cargo-rbmt
uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@6560b728ae6a81af9d92713b630ba26772fbd970
- name: Run tests
run: cargo rbmt test --toolchain ${{ matrix.toolchain }} --lock-file ${{ matrix.lockfile }}
test-no-std:
name: Test - no-std, msrv toolchain, minimal deps
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup build cache
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
- name: Setup cargo-rbmt
uses: rust-bitcoin/rust-bitcoin-maintainer-tools/.github/actions/setup-rbmt@6560b728ae6a81af9d92713b630ba26772fbd970
- name: Add no_std target
run: rustup target add thumbv7m-none-eabi --toolchain 1.74.0
- name: Run no_std tests
run: cargo rbmt test --toolchain msrv --lock-file minimal