Keysets Master Feature (#11) #18
This file contains hidden or 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: blockchain/contracts | |
| on: | |
| workflow_dispatch: {} | |
| workflow_call: | |
| push: | |
| paths: | |
| - blockchain/contracts/** | |
| - .github/workflows/blockchain-contracts.yml | |
| - scripts/github/** | |
| branches: | |
| - master | |
| - develop | |
| env: | |
| IPFS_API_KEY: ${{ secrets.IPFS_API_KEY }} | |
| defaults: | |
| run: | |
| shell: bash | |
| working-directory: blockchain/contracts | |
| jobs: | |
| test_deployment_tool: | |
| runs-on: warp-ubuntu-latest-x64-8x # change to LargeRunner to run on github. Change to self-hosted to run on our own runner. Change to buildjet-8vcpu-ubuntu-2204 to run on buildjet with 8 cpus | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Use Node.js | |
| uses: WarpBuilds/setup-node@v4 | |
| with: | |
| node-version: 18.17.0 | |
| cache: npm | |
| cache-dependency-path: ${{ github.workspace }}/blockchain/contracts/package-lock.json | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Test deployment tool | |
| run: npm run deploy -- --deploy-config scripts/deployConfig/configs/ci-config.json --verbose | |
| services: | |
| anvil: | |
| image: litptcl/anvil-lit:latest | |
| ports: | |
| - 8545:8545 | |
| - 8549:8549 | |
| credentials: | |
| username: ${{ vars.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| test_contracts: | |
| runs-on: warp-ubuntu-latest-x64-8x # change to LargeRunner to run on github. Change to self-hosted to run on our own runner. Change to buildjet-8vcpu-ubuntu-2204 to run on buildjet with 8 cpus | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Use Node.js | |
| uses: WarpBuilds/setup-node@v4 | |
| with: | |
| node-version: 18.17.0 | |
| cache: npm | |
| cache-dependency-path: ${{ github.workspace }}/blockchain/contracts/package-lock.json | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Run tests | |
| run: npm run test:ci | |
| services: | |
| anvil: | |
| image: litptcl/anvil-lit:latest | |
| ports: | |
| - 8545:8545 | |
| - 8549:8549 | |
| credentials: | |
| username: ${{ vars.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| test_contracts_forge: | |
| runs-on: LargeRunner # change to LargeRunner to run on github. Change to self-hosted to run on our own runner. Change to buildjet-8vcpu-ubuntu-2204 to run on buildjet with 8 cpus | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Use Node.js | |
| uses: WarpBuilds/setup-node@v4 | |
| with: | |
| node-version: 18.17.0 | |
| cache: npm | |
| cache-dependency-path: ${{ github.workspace }}/blockchain/contracts/package-lock.json | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| - name: Run tests | |
| # There have been some issues where locally the contracts compile but on CI we get the stack too deep error. So, we use the --via-ir flag to force the use of the IR compiler in CI to get around this. | |
| run: forge test -vvvv --ffi --via-ir --no-match-test Skip | |
| - name: Run snapshot | |
| # There have been some issues where locally the contracts compile but on CI we get the stack too deep error. So, we use the --via-ir flag to force the use of the IR compiler in CI to get around this. | |
| run: forge snapshot -vvvv --ffi --via-ir --no-match-test Skip |