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-22.04 # Context: https://github.com/graphprotocol/graph-tooling/issues/1546#issuecomment-2589680195 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