From f382bcf9f006653b3f87d01e861627672737a89b Mon Sep 17 00:00:00 2001 From: Tadhg Riordan Date: Wed, 9 Oct 2024 09:58:51 +0100 Subject: [PATCH] Add CI Action for Foundry --- .github/workflows/test.yaml | 57 ++++++++++++++++++++++++++ test/differential/scripts/package.json | 3 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/test.yaml diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..e63badc --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,57 @@ +name: test + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + + workflow_dispatch: + +env: + FOUNDRY_PROFILE: ci + +jobs: + check: + strategy: + fail-fast: true + + name: Foundry project + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1.2.0 + + - name: Run Forge build + run: | + forge build --skip test --sizes + forge build + id: build + + - name: Run Forge unit tests + run: | + forge test --mc BigNumbersTest -vvv + id: test + + # Node.js setup and differential testing steps + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '14.17' + + - name: Install Node.js dependencies + working-directory: ./test/differential/scripts + run: npm install + + - name: Compile Node.js project + working-directory: ./test/differential/scripts + run: npm run compile + + - name: Run differential Forge test + run: | + forge test -vvv --ffi --mc BigNumbersDifferentialTest + id: differential-test diff --git a/test/differential/scripts/package.json b/test/differential/scripts/package.json index 2d8c165..a5cb6a6 100644 --- a/test/differential/scripts/package.json +++ b/test/differential/scripts/package.json @@ -9,7 +9,8 @@ "bn.js": "^5.2.1", "ethereumjs-util": "^7.1.4", "rlp": "^3.0.0", - "typescript": "^4.8.4" + "typescript": "^4.8.4", + "ethers": "^5.7.1" }, "scripts": { "compile": "npx tsc --esModuleInterop ./*.ts",