12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- name: Go
- on:
- push:
- pull_request:
- branches: [master]
- jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- go: ["1.18", "1.19"]
- services:
- # Label used to access the service container
- postgres:
- # Docker Hub image
- image: postgres
- # Provide the password for postgres
- env:
- POSTGRES_DB: postgres_db
- POSTGRES_PASSWORD: ""
- POSTGRES_HOST_AUTH_METHOD: trust # allow no password
- POSTGRES_PORT: 5432
- POSTGRES_USER: postgres
- # Set health checks to wait until postgres has started
- options: >-
- --health-cmd pg_isready
- --health-interval 10s
- --health-timeout 5s
- --health-retries 5
- ports:
- - 5432:5432
- mysql:
- image: mysql
- env:
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- MYSQL_ROOT_PASSWORD: ""
- ports:
- - 3306:3306
- options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
- env:
- GOFLAGS: "-mod=vendor"
- GODEBUG: "x509sha1=1"
- BUILD_TAGS: "postgresql"
- PGHOST: localhost
- MYSQL_HOST: 127.0.0.1
- steps:
- - run: psql -c 'create database certdb_development;' -U postgres;
- - run: mysql -e 'create database certdb_development;' -u root;
- - run: mysql -e 'SET global sql_mode = 0;' -u root;
- - uses: actions/checkout@v2
- - name: Set up Go
- uses: actions/setup-go@v2
- with:
- go-version: ${{ matrix.go }}
- - name: Build
- run: go build -v ./...
- - run: make bin/goose;
- - run: ./bin/goose -path certdb/pg up;
- - run: ./bin/goose -path certdb/mysql up;
- - name: Test
- run: ./test.sh
- - uses: codecov/codecov-action@v3
- golangci:
- name: lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/setup-go@v3
- with:
- go-version: 1.18
- - uses: actions/checkout@v3
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v3
|