Shared composite GitHub Actions for the amqp-rs ecosystem.
Checks out the repository. Thin wrapper around actions/checkout.
- uses: amqp-rs/actions/checkout@mainLints GitHub Actions workflow files with actionlint.
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/actionlint@mainRuns clippy, rustfmt, and doc checks on stable Rust.
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/lint@mainRuns cargo audit via the RustSec advisory database.
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/security@mainChecks semver compliance with cargo-semver-checks.
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/semver@mainInstalls a Rust toolchain, sets up build caching, and runs cargo check and cargo test with RUSTFLAGS=-D warnings.
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/build@main
with:
rust: stable # stable, nightly, beta, msrv, or an explicit version; default: stable
check: 'true' # set to 'false' to skip cargo check steps
test: 'true' # set to 'false' to skip cargo test| Input | Default | Description |
|---|---|---|
rust |
stable |
Toolchain to install (stable, nightly, beta, msrv, or an explicit version such as 1.88.0); msrv reads rust-version from Cargo.toml |
check |
true |
Run cargo check --all --bins --examples --tests --all-features (and the nightly -Z features=dev_dep variant) |
test |
true |
Run cargo test |
Installs NASM and ninja-build on Windows, required by aws-lc-rs and aws-lc-fips-sys. No-op on Linux and macOS.
- uses: amqp-rs/actions/aws-lc-sys-deps@mainSets OPENSSL_NO_VENDOR=1 to prevent openssl-sys from building a bundled OpenSSL.
- uses: amqp-rs/actions/openssl-no-vendor@mainSets VCPKG_ROOT and installs openssl:x64-windows-static-md via vcpkg on Windows. No-op on Linux and macOS.
- uses: amqp-rs/actions/openssl-vcpkg@mainCombines aws-lc-sys-deps, openssl-vcpkg, and openssl-no-vendor in one step. Use this for crates that need all three (e.g. amq-protocol, tcp-stream, lapin).
- uses: amqp-rs/actions/windows-setup-tls-env@mainsteps:
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/aws-lc-sys-deps@main
- uses: amqp-rs/actions/build@main
with:
rust: ${{ matrix.rust }}steps:
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/windows-setup-tls-env@main
- uses: amqp-rs/actions/build@main
with:
rust: ${{ matrix.rust }}steps:
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/openssl-vcpkg@main
- uses: amqp-rs/actions/build@main
with:
rust: ${{ matrix.rust }}Split into two jobs — check runs cross-platform, test runs Linux-only with the service:
jobs:
check:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
rust: [stable]
include:
- { os: ubuntu-latest, rust: nightly }
- { os: ubuntu-latest, rust: beta }
- { os: ubuntu-latest, rust: msrv }
steps:
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/build@main
with:
rust: ${{ matrix.rust }}
test: 'false'
test:
runs-on: ubuntu-latest
services:
rabbitmq:
image: rabbitmq:latest
ports:
- 5672:5672
strategy:
matrix:
rust: [nightly, beta, stable, msrv]
steps:
- uses: amqp-rs/actions/checkout@main
- uses: amqp-rs/actions/build@main
with:
rust: ${{ matrix.rust }}
check: 'false'