name: Pre-release
on:
push:
branches:
- master
- v5.x.x
jobs:
pre-release:
name: Pre Release
runs-on: ubuntu-latest
permissions:
id-token: write pull-requests: write
contents: write
env:
RUSTFLAGS: "-C target-feature=+avx2"
RELEASE_PLZ_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}
steps:
- uses: actions/checkout@v7
with:
show-progress: false
fetch-depth: 0
token: ${{ env.RELEASE_PLZ_TOKEN }}
- name: Get date
run: |
echo "TODAY_DATE=$(date -Idate)" >> "$GITHUB_ENV"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Toolchain
uses: actions/cache@v6
with:
path: ~/.rustup
key: toolchain-x86-64-nightly-${{ env.TODAY_DATE }}
- name: Install `nightly` Toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt,clippy
- name: Prepare example artifacts
run: bash .github/scripts/prepare-example-artifacts.sh
- name: Rustfmt Check
uses: actions-rust-lang/rustfmt@v1
- name: Install cpp_competitors system dependencies
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends libboost-dev libarmadillo-dev libensmallen-dev
- name: Install cargo-hack
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-hack
version: "^0.6"
- name: Cargo check all targets and features
run: cargo hack check --workspace --each-feature --all-targets
- name: Cargo Test
run: cargo test --workspace --all-features --lib --bins --tests --examples
- name: Run release-plz
uses: MarcoIeni/release-plz-action@v0.5
with:
command: release-pr
env:
GITHUB_TOKEN: ${{ env.RELEASE_PLZ_TOKEN }}