chore(cli-template-contracts-foundry): add prepublish script (#927) #319
This file contains 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: production | |
on: | |
push: | |
branches: | |
- main | |
env: | |
TREE_DEPTH: 10 | |
jobs: | |
style: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn | |
- name: Build packages and apps | |
run: yarn build | |
- name: Format | |
run: yarn format | |
- name: Run Eslint | |
run: yarn lint | |
test-subgraph: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn | |
- name: Build libraries | |
run: yarn build:libraries | |
- name: Build subgraph | |
run: yarn build:subgraph | |
- name: Test subgraph | |
run: yarn test:subgraph | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
type: | |
- circuits | |
- libraries | |
- contracts | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: yarn | |
# https://github.com/iden3/circuits/blob/8fffb6609ecad0b7bcda19bb908bdb544bdb3cf7/.github/workflows/main.yml#L18-L22 | |
# https://stackoverflow.com/a/78377916 | |
- name: Setup Circom deps | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update && sudo apt-get install -y wget nlohmann-json3-dev libgmp-dev nasm g++ build-essential | |
- name: Setup Circom | |
run: sudo wget https://github.com/iden3/circom/releases/download/v2.1.9/circom-linux-amd64 -O /usr/bin/circom && sudo chmod +x /usr/bin/circom | |
- name: Install dependencies | |
run: yarn | |
- name: Build libraries | |
run: yarn build:libraries | |
- name: Test libraries, contracts and circuits | |
run: yarn test:${{ matrix.type }} | |
- name: Coveralls | |
if: matrix.type != 'circuits' | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
flag-name: run-${{ matrix.type }} | |
path-to-lcov: ./coverage/${{ matrix.type }}/lcov.info | |
parallel: true | |
coverage: | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true |