func-tests: Bridge Deposit Reclaim Path #1670
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: Lint | |
on: | |
pull_request: | |
merge_group: | |
push: | |
branches: [main] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
clippy: | |
name: Run clippy on crates | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@clippy | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- run: cargo clippy --workspace --lib --examples --tests --benches --all-features --all-targets --locked | |
env: | |
RUSTFLAGS: -D warnings | |
crate-checks: | |
name: Check that crates compile on their own | |
runs-on: ubuntu-latest | |
timeout-minutes: 90 # cold run takes a lot of time as each crate is compiled separately | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cleanup space | |
uses: ./.github/actions/cleanup | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
toolchain: nightly-2024-07-27 | |
- uses: taiki-e/install-action@cargo-hack | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Configure sccache | |
run: | | |
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV | |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV | |
- name: Run sccache-cache | |
uses: mozilla-actions/sccache-action@v0.0.6 | |
with: | |
version: "v0.8.1" # sccache version | |
- run: cargo hack check --locked | |
fmt: | |
name: Check code formatting | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
toolchain: nightly-2024-07-27 | |
- run: cargo fmt --all --check | |
codespell: | |
name: Check code spellings | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: codespell-project/actions-codespell@v2 | |
taplo: | |
name: Lint and check formatting of TOML files | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install taplo | |
run: | | |
curl -fsSL https://github.com/tamasfe/taplo/releases/latest/download/taplo-full-linux-x86_64.gz \ | |
| gzip -d - | install -m 755 /dev/stdin /usr/local/bin/taplo | |
- name: Run taplo lint | |
run: | | |
taplo lint | |
- name: Run taplo format check | |
run: | | |
taplo fmt --check | |
lint-success: | |
name: Check that lints passed | |
runs-on: ubuntu-latest | |
if: always() | |
needs: | |
- clippy | |
- crate-checks | |
- fmt | |
- codespell | |
- taplo | |
timeout-minutes: 30 | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |