name: CI on: push: branches: [main] paths: - "**.sol" - "scripts/**.ts" - "test/**.ts" - "hardhat.config.ts" - "package.json" - ".github/workflows/ci.yml" pull_request: branches: [main] paths: - "**.sol" - "scripts/**.ts" - "test/**.ts" - "hardhat.config.ts" - "package.json" - ".github/workflows/ci.yml" jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: version: nightly - uses: actions/setup-node@v3 with: node-version: 16 cache: "yarn" - id: dependencies run: yarn install - id: lint run: yarn lint - id: test run: yarn test - id: coverage run: yarn coverage - id: upload-coverage # run only in pull requests if: github.event_name == 'pull_request' uses: zgosalvez/github-actions-report-lcov@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} coverage-files: coverage/lcov.info artifact-name: code-coverage-report