90 lines
2.9 KiB
YAML
90 lines
2.9 KiB
YAML
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.16.x, 1.17.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 ipld-eth-db
|
|
- name: Test
|
|
run: |
|
|
sleep 10
|
|
PGPASSWORD=password DATABASE_USER=vdbm DATABASE_PORT=8077 DATABASE_PASSWORD=password DATABASE_HOSTNAME=127.0.0.1 DATABASE_NAME=vulcanize_testing make test
|
|
|
|
integrationtest:
|
|
name: Run integration tests
|
|
env:
|
|
GOPATH: /tmp/go
|
|
DB_WRITE: true
|
|
ETH_FORWARD_ETH_CALLS: false
|
|
strategy:
|
|
matrix:
|
|
go-version: [1.16.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 ipld-eth-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
|
|
|
|
integrationtest_forwardethcalls:
|
|
name: Run integration tests for direct proxy fall-through of eth_calls
|
|
env:
|
|
GOPATH: /tmp/go
|
|
DB_WRITE: false
|
|
ETH_FORWARD_ETH_CALLS: true
|
|
strategy:
|
|
matrix:
|
|
go-version: [ 1.16.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 ipld-eth-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
|