This repository has been archived by the owner on Jul 5, 2024. It is now read-only.
Extension into branch #7054
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: Lints | |
# We only run these lints on trial-merges of PRs to reduce noise. | |
on: | |
merge_group: | |
pull_request: | |
types: [synchronize, opened, reopened, ready_for_review] | |
push: | |
branches: | |
- main | |
jobs: | |
skip_check: | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
cancel_others: 'true' | |
concurrent_skipping: 'same_content_newer' | |
paths_ignore: '["**/README.md", "mpt-witness-generator/**"]' | |
lints: | |
needs: [skip_check] | |
if: | | |
github.event.pull_request.draft == false && | |
(github.event.action == 'ready_for_review' || needs.skip_check.outputs.should_skip != 'true') | |
name: Various lints | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
components: rustfmt, clippy | |
override: false | |
# Go cache for building geth-utils | |
- name: Go cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: lint-${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Cargo cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: lint-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install solc | |
run: | | |
sudo wget -O /usr/bin/solc https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-static-linux | |
sudo chmod +x /usr/bin/solc | |
- name: Update ERC20 git submodule | |
run: git submodule update --init --recursive --checkout integration-tests/contracts/vendor/openzeppelin-contracts | |
- name: Cargo build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
- name: Check code format | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-features --all-targets -- -D warnings | |
# Ensure intra-documentation links all resolve correctly | |
# Requires #![deny(intra_doc_link_resolution_failure)] in crates. | |
- name: Check intra-doc links | |
uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --no-deps --all --document-private-items |