12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- name: go
- on:
- push:
- branches:
- - main
- pull_request:
- jobs:
- build:
- name: test
- runs-on: ubuntu-latest
- services:
- postgres:
- image: postgres:11
- env:
- POSTGRES_USER: postgres
- POSTGRES_PASSWORD: postgres
- POSTGRES_DB: postgres
- ports:
- - 5432:5432
- # needed because the postgres container does not provide a healthcheck
- options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
- mysql:
- image: mysql:8
- env:
- MYSQL_ROOT_PASSWORD: mysecretpassword
- MYSQL_DATABASE: mysql
- ports:
- - 3306:3306
- steps:
- - uses: actions/checkout@v2.4.0
- - uses: actions/setup-go@v2
- with:
- go-version: '1.17'
- - name: test ./...
- run: go test --tags=examples ./...
- env:
- PG_USER: postgres
- PG_HOST: localhost
- PG_DATABASE: postgres
- PG_PASSWORD: postgres
- PG_PORT: ${{ job.services.postgres.ports['5432'] }}
- MYSQL_DATABASE: mysql
- MYSQL_HOST: localhost
- MYSQL_PORT: ${{ job.services.mysql.ports['3306'] }}
- MYSQL_ROOT_PASSWORD: mysecretpassword
- - name: build internal/endtoend
- run: go build ./...
- working-directory: internal/endtoend/testdata
- - name: test internal/endtoend
- run: go test ./...
- working-directory: internal/endtoend/testdata
|