Skip to content

chore(protocol-contracts): clean hardhat config #5684

chore(protocol-contracts): clean hardhat config

chore(protocol-contracts): clean hardhat config #5684

# This workflow verifies that:
# - The Rust bindings crate version and files are up-to-date
# - Contract mocks and selectors are current
# - Dependency licenses compliance
name: gateway-contracts-integrity-checks
on:
pull_request:
push:
branches:
- main
permissions: {}
concurrency:
group: contract-integrity-checks-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
check-changes:
name: gateway-contracts-integrity-checks/check-changes
permissions:
contents: 'read' # Required to checkout repository code
runs-on: ubuntu-latest
outputs:
changes-gw-contracts: ${{ steps.filter.outputs.gw-contracts }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: 'false'
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
filters: |
gw-contracts:
- .github/workflows/gateway-contracts-integrity-checks.yml
- gateway-contracts/**
contract-integrity-checks:
name: gateway-contracts-integrity-checks/contract-integrity-checks (bpr)
needs: check-changes
if: ${{ needs.check-changes.outputs.changes-gw-contracts == 'true' }}
permissions:
contents: 'read' # Required to checkout repository code
runs-on: ubuntu-latest
steps:
- name: Checkout project
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: 'false'
- name: Cache npm
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@de808b1eea699e761c404bda44ba8f21aba30b2c # v1.3.1
with:
version: v1.3.1
- name: Install dependencies
working-directory: gateway-contracts
run: npm ci
- name: Check bindings are up-to-date
working-directory: gateway-contracts
run: make check-bindings
- name: Check contract selectors are up-to-date
working-directory: gateway-contracts
run: make check-selectors
- name: Check mock contracts are up-to-date
working-directory: gateway-contracts
run: make check-mocks
- name: Check licenses compliance
working-directory: gateway-contracts
run: make check-licenses