Skip to content

Commit

Permalink
Use reusable workflow locally
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnGuilding committed May 29, 2024
1 parent 0046202 commit af50c46
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 1 deletion.
95 changes: 95 additions & 0 deletions .github/workflows/forge-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "Measure test coverage for a Forge project"

on:
workflow_call:
inputs:
cache-path:
default: |
cache
node_modules
out
out-optimized
required: false
type: "string"

foundry-fuzz-runs:
default: 1000
required: false
type: "number"

foundry-invariant-depth:
default: 20
required: false
type: "number"

foundry-invariant-runs:
default: 20
required: false
type: "number"

foundry-profile:
default: "default"
required: false
type: "string"

fuzz-seed:
default: false
required: false
type: boolean

match-path:
required: true
type: "string"

name:
default: "Forge"
required: false
type: "string"

restore-cache:
default: true
required: false
type: boolean

secrets:
MAINNET_RPC_URL:
required: false

jobs:
forge-test:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v4"

- name: "Install Foundry"
uses: "foundry-rs/foundry-toolchain@v1"

- name: "Install NodeJS"
uses: actions/setup-node@v4
with:
node-version: 18

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9.0.6
run_install: false

- name: "Restore the cached build and the node modules"
if: ${{ inputs.restore-cache }}
uses: "actions/cache/restore@v4"
with:
key: "build-and-modules-${{ github.sha }}"
path: ${{ inputs.cache-path }}

- name: "Install the Node.js dependencies"
run: "pnpm install"

- name: "Run Foundry Tests on supplied files"
run: 'forge test --match-path "${{ inputs.match-path }}"'

- name: "Add summary"
run: |
echo "## Coverage result" >> $GITHUB_STEP_SUMMARY
echo "✅ Uploaded to Codecov" >> $GITHUB_STEP_SUMMARY
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

test:
needs: ["build"]
uses: "rhinestonewtf/reusable-workflows/.github/workflows/forge-test.yaml@main"
uses: "./.github/workflows/forge-test.yml"
with:
foundry-fuzz-runs: 5000
foundry-profile: "test"
Expand Down

0 comments on commit af50c46

Please sign in to comment.