chore(deps): bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
env: | |
RUSTFLAGS: -Dwarnings | |
jobs: | |
fmt_and_docs: | |
name: Check fmt & build docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache docs cargo dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/crates.toml | |
~/.cargo/crates2.json | |
~/.package-cache | |
~/.cargo/bin/ | |
~/.cargo/binstall/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-docs-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt | |
override: true | |
- name: rustfmt | |
run: cargo fmt --all -- --check | |
- name: docs | |
run: cargo doc --no-deps | |
build_and_test: | |
name: Build & Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
rust: [stable] | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache build cargo dependencies on ${{ matrix.os }} | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-build-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
target: wasm32-unknown-unknown | |
components: clippy | |
override: true | |
- name: Clippy | |
run: cargo clippy --all -- -D warnings | |
- name: Run tests | |
run: cargo test --all --verbose | |
build_wasm: | |
name: Build Wasm | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache wasm cargo dependencies on ${{ matrix.os }} | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-wasm-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Check node-maintainer builds on wasm32 | |
run: cargo build -p node-maintainer --target wasm32-unknown-unknown | |
# TODO: Re-enable someday. For now, mio is making this test fail, and it's | |
# not even mio's fault. | |
# | |
# miri: | |
# name: Miri | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v1 | |
# - name: Install Rust | |
# uses: actions-rs/toolchain@v1 | |
# with: | |
# profile: minimal | |
# toolchain: nightly | |
# components: miri,rust-src | |
# override: true | |
# - name: Run tests with miri | |
# env: | |
# MIRIFLAGS: -Zmiri-disable-isolation -Zmiri-strict-provenance | |
# run: cargo miri test --all --verbose | |
minimal_versions: | |
name: Minimal versions check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache minimal-versions cargo dependencies on ${{ matrix.os }} | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-minimal-versions-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Run minimal version build | |
run: cargo build --all -Z minimal-versions --all-features |