name: Test Application On PR on: workflow_dispatch: inputs: foundry-test-ref: description: "The branch, commit or sha from foundry-test to checkout" required: false default: "main" ipld-eth-db-ref: description: "The branch, commit or sha from ipld-eth-db to checkout" required: false default: "main" pull_request: paths: - "!**.md" - "!.gitignore" - "!LICENSE" - "!.github/workflows/**" - ".github/workflows/on-pr.yml" - "**" jobs: build: name: Run Docker Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run docker build run: make docker-build unit-test: name: Run Unit Tests runs-on: ubuntu-latest ## IF you want to update the default branch for `pull_request runs, do it after the ||` env: foundry-test-ref: ${{ github.event.inputs.foundry-test-ref || 'feature/build-stack'}} ipld-eth-db-ref: ${{ github.event.inputs.ipld-eth-db-ref || 'main' }} GOPATH: /tmp/go steps: - name: Create GOPATH run: mkdir -p /tmp/go - uses: actions/checkout@v2 with: path: "./ipld-ethcl-indexer" - uses: actions/checkout@v3 with: ref: ${{ env.foundry-test-ref }} path: "./foundry-test/" repository: vulcanize/foundry-test fetch-depth: 0 - uses: actions/checkout@v3 with: ref: ${{ env.ipld-eth-db-ref }} repository: vulcanize/ipld-eth-db path: "./ipld-eth-db/" fetch-depth: 0 - name: Create config file run: | echo vulcanize_ipld_eth_db=$GITHUB_WORKSPACE/ipld-eth-db/ > ./config.sh echo vulcanize_ipld_ethcl_indexer=$GITHUB_WORKSPACE/ipld-ethcl-indexer >> ./config.sh cat ./config.sh - uses: actions/setup-go@v3 with: go-version: ">=1.17.0" check-latest: true - name: Install packages run: | go install github.com/onsi/ginkgo/v2/ginkgo@latest which ginkgo - name: Run the tests using Make run: | cd ipld-ethcl-indexer make unit-test-ci integration-test: name: Run Integration Tests runs-on: ubuntu-latest env: foundry-test-ref: feature/build-stack ipld-eth-db-ref: main GOPATH: /tmp/go steps: - name: Create GOPATH run: mkdir -p /tmp/go - uses: actions/checkout@v2 with: path: "./ipld-ethcl-indexer" - uses: actions/checkout@v3 with: ref: ${{ env.foundry-test-ref }} path: "./foundry-test/" repository: vulcanize/foundry-test fetch-depth: 0 - uses: actions/checkout@v3 with: ref: ${{ env.ipld-eth-db-ref }} repository: vulcanize/ipld-eth-db path: "./ipld-eth-db/" fetch-depth: 0 - name: Create config file run: | echo vulcanize_ipld_eth_db=$GITHUB_WORKSPACE/ipld-eth-db/ > ./config.sh echo vulcanize_ipld_ethcl_indexer=$GITHUB_WORKSPACE/ipld-ethcl-indexer >> ./config.sh cat ./config.sh - name: Run docker compose run: | docker-compose \ -f "$GITHUB_WORKSPACE/foundry-test/docker/local/docker-compose-db.yml" \ -f "$GITHUB_WORKSPACE/foundry-test/docker/latest/docker-compose-lighthouse.yml" \ --env-file ./config.sh \ up -d --build - uses: actions/setup-go@v3 with: go-version: ">=1.17.0" check-latest: true - name: Install packages run: | go install github.com/onsi/ginkgo/v2/ginkgo@latest which ginkgo - name: Run the tests using Make run: | cd ipld-ethcl-indexer make integration-test-ci golangci: runs-on: ubuntu-latest steps: - uses: actions/setup-go@v3 with: go-version: ">=1.17.0" - uses: actions/checkout@v3 - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: args: --disable errcheck