Skip to content

Overhaul repository

Overhaul repository #3

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
tags:
- v*
paths-ignore:
- "README.md"
jobs:
cargo-fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Cargo fmt
run: |
rustup component add rustfmt
cargo fmt
- name: Commit Formatting changes
uses: EndBug/add-and-commit@v9
if: ${{ github.ref != 'refs/heads/main' }}
with:
add: src
default_author: github_actions
message: "🤖 cargo-fmt auto-update"
cargo-clippy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- run: rustup component add clippy
- name: Cargo clippy
# We run clippy twice (once without tests), so that it accurately reports dead code in the non-test configuration.
# `manual_range_contains` is disabled because a >= x && a < y reads more clearly than (x..y).contains(a) and
# there are additional caveats for floating point numbers (https://github.com/rust-lang/rust-clippy/issues/6455)
run: |
cargo clippy -- -D clippy::all -D warnings -A clippy::manual_range_contains
cargo clippy --tests --benches -- -D clippy::all -D warnings -A clippy::manual_range_contains
cargo-deny:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- run: cargo install --locked cargo-deny
- name: Cargo deny
run: |
cargo-deny check --hide-inclusion-graph || true
cargo-audit:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- run: cargo install --locked cargo-audit
- name: Cargo audit
run: |
cargo audit || true
cargo-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Cargo build
uses: actions-rs/cargo@master
with:
command: check
args: --all-targets
cargo-build:
runs-on: ubuntu-latest
needs: cargo-check
steps:
- name: Checkout
uses: actions/checkout@master
- name: Cargo build
uses: actions-rs/cargo@master
with:
command: build
args: --tests --release
cargo-wasm-build:
runs-on: ubuntu-latest
needs: cargo-check
steps:
- name: Checkout
uses: actions/checkout@master
- name: Cargo build
uses: actions-rs/cargo@master
with:
command: build
args: --tests --release --target wasm32-unknown-unknown
candid-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Check interface
run: |
cargo run > candid/ic_eth_expected.did
diff candid/ic_eth.did candid/ic_eth_expected.did