established scope in tower contracts #3579
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
on: [push, pull_request, workflow_dispatch] | |
name: Aderyn | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Install git submodules | |
run: | | |
git submodule update --init --recursive | |
- name: Run cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: foundry-toolchain | |
uses: foundry-rs/foundry-toolchain@v1.2.0 | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 8 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- name: Make | |
run: | | |
make | |
- name: Install pnpm dependencies for ccip contracts and come out | |
run: | | |
cd tests/ccip-contracts/ | |
pnpm install | |
cd contracts/ | |
pnpm install | |
cd ../../../ | |
- name: Run cargo build | |
run: | | |
cargo build | |
- name: Run cargo test | |
run: | | |
cargo test -- --nocapture | |
reports: | |
name: Check Reports | |
runs-on: ubuntu-latest | |
steps: | |
- name: foundry-toolchain | |
uses: foundry-rs/foundry-toolchain@v1.2.0 | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 8 | |
- name: Make | |
run: | | |
make | |
- name: Install pnpm dependencies for ccip contracts and come out | |
run: | | |
cd tests/ccip-contracts/ | |
pnpm install | |
cd contracts/ | |
pnpm install | |
cd ../../../ | |
# Verify report.md | |
- name: Generate report-workflow.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/report-workflow.md --src src/ ./tests/contract-playground/ --skip-update-check | |
- name: Check report.md vs report-workflow.md | |
run: | | |
cat ./reports/report-workflow.md | |
diff ./reports/report.md ./reports/report-workflow.md | |
# Verify uniswap_profile.md | |
- name: Generate uniswap_profile-workflow.md | |
env: | |
FOUNDRY_PROFILE: uniswap | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/uniswap_profile-workflow.md ./tests/contract-playground/ --skip-update-check | |
- name: Check uniswap_profile.md vs uniswap_profile-workflow.md | |
run: | | |
cat reports/uniswap_profile-workflow.md | |
diff reports/uniswap_profile.md reports/uniswap_profile-workflow.md | |
# Verify sablier.md | |
- name: Generate sablier.md | |
env: | |
FOUNDRY_PROFILE: uniswap | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/sablier.md ./tests/2024-05-Sablier --skip-update-check | |
- name: Check sablier.md vs sablier-aderyn-toml-nested-root.md | |
run: | | |
cat reports/sablier.md | |
diff reports/sablier-aderyn-toml-nested-root.md reports/sablier.md | |
# Verify adhoc-sol-files-workflow-report.md | |
- name: Generate adhoc-sol-files-workflow-report.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/adhoc-sol-files-report-workflow.md ./tests/adhoc-sol-files --skip-update-check | |
- name: Check adhoc-sol-files-report.md vs adhoc-sol-files-report-workflow.md | |
run: | | |
cat ./reports/adhoc-sol-files-report-workflow.md | |
diff ./reports/adhoc-sol-files-report.md ./reports/adhoc-sol-files-report-workflow.md | |
# Verify foundry-nft-f23.md | |
- name: Generate nft-workflow-report.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/nft-workflow-report.md --src src/ ./tests/foundry-nft-f23 --skip-update-check | |
- name: Check nft-workflow-report.md vs nft-report.md | |
run: | | |
cat ./reports/nft-workflow-report.md | |
diff ./reports/nft-report.md ./reports/nft-workflow-report.md | |
# Verify ccip-functions-report.md | |
- name: Generate ccip-functions-report-workflow.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o reports/ccip-functions-report-workflow.md tests/ccip-contracts/contracts --src src/v0.8/functions/ -x "tests/,test/,mocks/" --skip-update-check | |
- name: Check ccip-functions-report-workflow.md vs ccip-functions-report.md | |
run: | | |
cat ./reports/ccip-functions-report-workflow.md | |
diff ./reports/ccip-functions-report.md ./reports/ccip-functions-report-workflow.md | |
# Verify prb-math-report.md (new solidity features) | |
- name: Generate ccip-functions-report-workflow.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- ./tests/prb-math -o ./reports/prb-math-report-workflow.md --skip-update-check | |
- name: Check prb-math-report.md vs prb-math-report-workflow.md | |
run: | | |
cat ./reports/prb-math-report-workflow.md | |
diff ./reports/prb-math-report.md ./reports/prb-math-report-workflow.md | |
- name: Generate 2024-07-templegold-report-workflow.md | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- ./tests/2024-07-templegold/protocol -o ./reports/2024-07-templegold-report-workflow.md --skip-update-check | |
- name: Check 2024-07-templegold-report.md vs 2024-07-templegold-report-workflow.md | |
run: | | |
cat ./reports/2024-07-templegold-report-workflow.md | |
diff ./reports/templegold-report.md ./reports/2024-07-templegold-report-workflow.md | |
# Verify report.json | |
- name: Generate report-workflow.json | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/report-workflow.json -i src/ -x lib/ ./tests/contract-playground/ --skip-update-check | |
- name: Check report.json vs report-workflow.json | |
run: | | |
cat ./reports/report-workflow.json | |
diff ./reports/report.json ./reports/report-workflow.json | |
# Verify adhoc sol files (Highs Only) report.json | |
- name: Generate report-workflow.json | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/adhoc-sol-files-highs-only-report-workflow.json ./tests/adhoc-sol-files --skip-update-check --highs-only | |
- name: Check report.json vs report-workflow.json | |
run: | | |
cat ./reports/adhoc-sol-files-highs-only-report-workflow.json | |
diff ./reports/adhoc-sol-files-highs-only-report.json ./reports/adhoc-sol-files-highs-only-report-workflow.json | |
# Verify sarif report | |
- name: Generate sarif report | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: -- -o ./reports/ci-report.sarif ./tests/contract-playground/ --skip-update-check | |
- name: Check sarif report | |
run: | | |
cat ./reports/ci-report.sarif | |
diff ./reports/report.sarif ./reports/ci-report.sarif | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt, clippy | |
override: true | |
- name: Install git submodules | |
run: | | |
git submodule update --init --recursive | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings |