Skip to content

Upgrade actions

Upgrade actions #15

Workflow file for this run

# Any commit on main & PRs
name: Essentials
on:
push:
branches:
- main
pull_request:
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- name: Rust install
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: rustfmt, clippy
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
# fetch-depth: ${{ github.event.pull_request.commits }}
- name: Cache crates from crates.io
uses: actions/cache@v4
continue-on-error: false
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: '${{ runner.os }}-cargo-${{ matrix.rust }}-hash-${{ hashFiles(''**/Cargo.lock'') }}'
- name: Lint
run: |
cargo fmt --all -- --check
cargo clippy -- -D warnings
- name: Quality - convco check
run: |
git show-ref
echo Commit message: "$(git log -1 --pretty=%B)"
curl -sSfLO https://github.com/convco/convco/releases/latest/download/convco-ubuntu.zip
unzip convco-ubuntu.zip
chmod +x convco
./convco --version
./convco check -c .convco
rm convco
- name: Quality - cargo deny check
run: |
curl -sSfL https://github.com/EmbarkStudios/cargo-deny/releases/download/0.16.1/cargo-deny-0.16.1-x86_64-unknown-linux-musl.tar.gz | tar zx --no-anchored cargo-deny --strip-components=1
chmod +x cargo-deny
mv cargo-deny ~/.cargo/bin/
cargo deny check
- name: Quality - cargo audit check
run: |
curl -sSfL https://github.com/rustsec/rustsec/releases/download/cargo-audit%2Fv0.17.3/cargo-audit-x86_64-unknown-linux-musl-v0.17.3.tgz | tar zx --no-anchored cargo-audit --strip-components=1
chmod +x cargo-audit
mv cargo-audit ~/.cargo/bin/
rm -rf ~/.cargo/advisory-db/
cargo audit --ignore RUSTSEC-2020-0071 # time-rs, but not used by chrono, see https://github.com/chronotope/chrono/issues/602
- name: Quality - cargo outdated
timeout-minutes: 20
run: |
cargo install --locked cargo-outdated || true
rm -rf ~/.cargo/advisory-db
cargo outdated --exit-code 1
# - name: Quality - cargo udeps (needs nightly)
# run: |
# cargo install --locked cargo-udeps || true
# cargo udeps
- name: Quality - cargo pants
run: |
cargo install --locked cargo-pants || true
cargo pants
- name: Build (dev)
run: cargo build --all-features
- name: Build (release)
run: cargo build --all-features --release
- name: Test
run: ./ci/test_full.sh