Fix: ToB-22 (using msg.value
in a loop) (#1453)
#8637
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: Solidity | |
on: | |
pull_request: | |
paths: | |
- 'packages/contracts-core/**' | |
- '.github/workflows/solidity.yml' | |
push: | |
paths: | |
- 'packages/contracts-core/**' | |
- '.github/workflows/solidity.yml' | |
jobs: | |
docs: | |
name: Docs | |
runs-on: ubuntu-latest | |
env: | |
WORKING_DIRECTORY: 'packages/contracts-core' | |
VERCEL_TOKEN: '${{ secrets.VERCEL_TOKEN }}' | |
VERCEL_ORG_ID: '${{ secrets.VERCEL_ORG_ID }}' | |
NODE_ENV: 'production' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: ./.github/actions/setup-nodejs | |
with: | |
cache: 'npm' | |
cache-path: '' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Install Vercel CLI | |
run: npm install --global [email protected] | |
- name: Set Project Env | |
run: | | |
echo "VERCEL_PROJECT_ID=${{ secrets.VERCEL_CONTRACT_DOCS_PROJECT_ID }}" >> $GITHUB_ENV | |
- name: Pull Vercel Environment Information | |
run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Build Docs | |
working-directory: packages/contracts-core/ | |
# https://github.com/orgs/vercel/discussions/3322#discussioncomment-6480458 | |
run: | | |
forge doc | |
cp vercel.package.json docs/package.json | |
- name: Deploy (Prod) | |
if: ${{ format('refs/heads/{0}', github.event.repository.default_branch) == github.ref }} | |
run: | | |
vercel build --token=${{ secrets.VERCEL_TOKEN }} --prod | |
vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} --prod | |
- name: Deploy | |
run: | | |
vercel build --token=${{ secrets.VERCEL_TOKEN }} | |
vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} | |
cancel-outdated: | |
name: Cancel Outdated Jobs | |
runs-on: ubuntu-latest | |
steps: | |
- id: skip_check | |
if: ${{ format('refs/heads/{0}', github.event.repository.default_branch) != github.ref && !contains(github.event.head_commit.message, '[no_skip]') }} | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
cancel_others: 'true' | |
slither: | |
name: Slither | |
# see https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository | |
runs-on: ubuntu-latest | |
permissions: | |
# always required | |
security-events: write | |
# only required for private repos | |
actions: read | |
contents: read | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
submodules: 'recursive' | |
- name: Setup NodeJS | |
uses: ./.github/actions/setup-nodejs | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
# TODO: find a flag for this | |
- name: Delete Untested Files | |
working-directory: ./packages/contracts-core | |
run: | | |
rm -rf test/ | |
rm -rf script/ | |
- name: Build Contracts | |
run: | | |
npx lerna exec npm run build:slither | |
- name: Run Slither | |
uses: crytic/[email protected] | |
continue-on-error: true | |
id: slither | |
with: | |
node-version: '${{steps.nvmrc.outputs.NVMRC}}' | |
target: ./packages/contracts-core/ | |
ignore-compile: true | |
sarif: results.sarif | |
solc-version: 0.8.17 | |
- name: Upload SARIF file | |
if: ${{!github.event.repository.private}} | |
uses: github/codeql-action/upload-sarif@v2 | |
with: | |
sarif_file: ./results.sarif |