Skip to content

Chore: release prep #306

Chore: release prep

Chore: release prep #306

Workflow file for this run

name: PR
on:
pull_request:
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
# TODO move to a release ci
# build:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# path: snarkos-test
# - name: Checkout snarkOS
# uses: actions/checkout@v4
# with:
# repository: AleoNet/snarkOS
# path: snarkos
# - name: Checkout snarkVM
# uses: actions/checkout@v4
# with:
# repository: AleoNet/snarkVM
# path: snarkvm
# - name: Use mold linker
# uses: rui314/setup-mold@v1
# - name: Install nightly and cranelift
# uses: dtolnay/rust-toolchain@nightly
# with:
# toolchain: nightly
# components: rustc-codegen-cranelift-preview
# - uses: Swatinem/rust-cache@v2
# with:
# key: cache-v1
# - name: Build
# env:
# RUSTFLAGS: -Zcodegen-backend=cranelift -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort
# run: cargo +nightly build --verbose
fmt:
runs-on: ubuntu-latest
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: ☁️ Install Nightly
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: 📋 Format Check
run: cargo +nightly fmt -- --check
test:
runs-on: ubuntu-latest
permissions: read-all
# env:
# RUSTFLAGS: -Zcodegen-backend=cranelift broken for snarkos/vm atm
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: 🥬 Use Mold Linker
uses: rui314/setup-mold@v1
- name: ☁️ Install Nightly
uses: dtolnay/rust-toolchain@nightly
with:
components: rustc-codegen-cranelift-preview clippy
- name: 🫙 Cache
uses: Swatinem/rust-cache@v2
with:
key: cache-v1
cache-on-failure: true
- name: ☁️ Install Nextest
uses: taiki-e/install-action@nextest
# - name: ☁️ Install cargo-machete
# run: cargo install cargo-machete
# - name: 📋 Clippy Check
# env:
# RUSTFLAGS: -Zcodegen-backend=cranelift
# run: cargo +nightly clippy --all --all-targets -- -D warnings
# - name: 📋 Check Unused Deps
# if: always()
# env:
# RUSTFLAGS: -Zcodegen-backend=cranelift
# run: cargo machete
- uses: dorny/paths-filter@v3
id: changes
with:
base: ${{ github.ref_name }}
filters: |
top_toml:
- 'Cargo.toml'
aot:
- 'crates/aot/**/*'
checkpoint:
- 'crates/checkpoint/**/*'
control_plane:
- 'crates/snops/**/*'
agent:
- 'crates/snops-agent/**/*'
scli:
- 'crates/snops-cli/**/*'
common:
- 'crates/snops-common/**/*'
- name: 🧪 Test All
if: steps.changes.outputs.top_toml == 'true'
run: cargo +nightly nextest run --all --verbose --fail-fast --all-features
- name: 🧪 Test Aot
if: steps.changes.outputs.aot == 'true' && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p snarkos-aot --verbose --fail-fast --all-features
- name: 🧪 Test Checkpoint
env:
RUSTFLAGS: -Zcodegen-backend=cranelift
if: steps.changes.outputs.checkpoint == 'true' && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p checkpoint --verbose --fail-fast --all-features
- name: 🧪 Test Common
env:
RUSTFLAGS: -Zcodegen-backend=cranelift
if: steps.changes.outputs.common == 'true' && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p snops-common --verbose --fail-fast --all-features
- name: 🧪 Test Control Plane
env:
RUSTFLAGS: -Zcodegen-backend=cranelift
if: (steps.changes.outputs.control_plane == 'true' || steps.changes.outputs.common == 'true') && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p snops --verbose --fail-fast --all-features
- name: 🧪 Test Agent
env:
RUSTFLAGS: -Zcodegen-backend=cranelift
if: (steps.changes.outputs.agent == 'true' || steps.changes.outputs.common == 'true') && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p snops-agent --verbose --fail-fast --all-features
- name: 🧪 Test Scli
env:
RUSTFLAGS: -Zcodegen-backend=cranelift
if: (steps.changes.outputs.scli == 'true' || steps.changes.outputs.common == 'true') && steps.changes.outputs.top_toml == 'false'
run: cargo +nightly nextest run -p snops-cli --verbose --fail-fast --all-features