name: Docker Build on: [pull_request] jobs: build: name: Run docker build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run docker build run: make docker-build test: name: Run unit tests env: GOPATH: /tmp/go strategy: matrix: go-version: [1.14.x, 1.15.x] os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Create GOPATH run: mkdir -p /tmp/go - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 - name: Run database run: docker-compose up -d db - name: Test run: | sleep 10 PGPASSWORD=password DATABASE_USER=vdbm DATABASE_PORT=8077 DATABASE_PASSWORD=password DATABASE_HOSTNAME=127.0.0.1 make test integrationtest: name: Run integration tests env: GOPATH: /tmp/go strategy: matrix: go-version: [1.15.x] os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Create GOPATH run: mkdir -p /tmp/go - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 - name: Run database run: docker-compose -f docker-compose.test.yml -f docker-compose.yml up -d db dapptools contract eth-server - name: Test run: | while [ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:8081)" != "200" ]; do echo "waiting for ipld-eth-server..." && sleep 5; done && \ while [ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:8545)" != "200" ]; do echo "waiting for geth-statediff..." && sleep 5; done && \ make integrationtest