Skip to content

prepare 1.20.1

prepare 1.20.1 #256

Workflow file for this run

name: Integration
on:
pull_request:
branches:
- main
jobs:
lint:
name: Lint
runs-on:
labels: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
# Require: The version of golangci-lint to use.
# When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
# When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
version: latest
args: --timeout=5m
test:
name: Test
runs-on: ubuntu-latest
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
postgres:
image: postgres
ports:
- 5432:5432
env:
POSTGRES_USER: test
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:5.7
ports:
- 3306:3306
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: test
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
- run: go version
- run: go mod download
- name: Run tests
run: |
go test \
-race \
-covermode=atomic \
-coverprofile=coverage.out \
./...
env:
TEST_REDIS_URL: redis://localhost:6379/1
TEST_POSTGRES_URL: postgres://test:password@localhost:5432/test?sslmode=disable
TEST_MYSQL_URL: mysql://root@localhost:3306/test
- name: Report coverage
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out