From 0fc0b6eac12781dbdad9803b8f6810a82522042d Mon Sep 17 00:00:00 2001 From: zeroknots Date: Fri, 12 Jul 2024 13:57:38 +0200 Subject: [PATCH] feat: add artifacts foo --- .github/workflows/forge-artifacts.yaml | 103 +++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 .github/workflows/forge-artifacts.yaml diff --git a/.github/workflows/forge-artifacts.yaml b/.github/workflows/forge-artifacts.yaml new file mode 100644 index 0000000..8738324 --- /dev/null +++ b/.github/workflows/forge-artifacts.yaml @@ -0,0 +1,103 @@ + +name: "Prepare Artifacts" + +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-artifacts: + 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: "Prepare the contract artifacts" + if: ${{ inputs.store-artifacts }} + run: "./shell/prepare-artifacts.sh" + + - name: "Store the contract artifacts in CI" + if: ${{ inputs.store-artifacts }} + uses: "actions/upload-artifact@v4" + with: + name: "contract-artifacts" + path: "artifacts" + + - name: "Add summary" + run: | + echo "## Build result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY