Merge pull request #1412 from mitch292/mitch292/fix-linting #426
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Go | |
on: | |
push: | |
pull_request: | |
branches: [master] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# starting with go 1.24 the GODEBUG=x509sha1=1 flag has been removed. | |
# many tests rely on sha1 certificates. After resolving #1413 we can | |
# run these on stable and old stable again. | |
go: ['1.23', '1.22'] | |
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@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
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@v4 | |
golangci: | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.18 | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
# There is a breaking change in 1.58 that causes the linter not to recognize | |
# internal imports or standard library imports and results in linting errors | |
# that cannot be ignored. | |
# e.g certdb/certdb.go:5:2: could not import encoding/json (Config.Importer.Import(encoding/json) returned nil but no error) (typecheck) | |
version: v1.57 |