Feat/devnet load script squash #9087
Workflow file for this run
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: | |
# TODO: get back to nightly once `forge doc` is working with it | |
version: nightly-09fe3e041369a816365a020f715ad6f94dbce9f2 | |
- 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 |