Skip to content

Keysets Master Feature (#11) #18

Keysets Master Feature (#11)

Keysets Master Feature (#11) #18

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