...
1name: "Run Tests and Lint Code"
2
3on:
4 push:
5 branches:
6 - master
7 pull_request:
8 branches:
9 - master
10
11jobs:
12 test-windows:
13 name: Run Tests on Windows
14 runs-on: windows-latest
15 steps:
16 - uses: actions/checkout@v2
17 - uses: actions/setup-go@v2
18 with:
19 go-version: '^1.16'
20 - run: |
21 go test -tags sqlite -failfast -short -timeout=20m $(go list ./... | grep -v sqlcon | grep -v watcherx | grep -v pkgerx | grep -v configx)
22 shell: bash
23 test:
24 name: Run Tests and Lint Code
25 runs-on: ubuntu-latest
26 env:
27 TEST_DATABASE_POSTGRESQL: postgres://test:test@localhost:5432/sqlcon?sslmode=disable
28 TEST_DATABASE_MYSQL: mysql://root:test@tcp(localhost:3306)/mysql?parseTime=true&multiStatements=true
29 TEST_DATABASE_COCKROACHDB: cockroach://root@localhost:26257/defaultdb?sslmode=disable
30 services:
31 postgres:
32 image: postgres:11.8
33 ports:
34 - 5432:5432
35 env:
36 POSTGRES_USER: test
37 POSTGRES_PASSWORD: test
38 POSTGRES_DB: sqlcon
39 mysql:
40 image: mysql:8.0
41 ports:
42 - 3306:3306
43 env:
44 MYSQL_ROOT_PASSWORD: test
45 steps:
46 - name: Start cockroach
47 run: docker run --name cockroach -p 26257:26257 -d cockroachdb/cockroach:v20.2.5 start-single-node --insecure
48 - name: Checkout repository
49 uses: actions/checkout@v2
50 - uses: actions/setup-go@v2
51 with:
52 go-version: '^1.16.0'
53 - name: golangci-lint
54 uses: golangci/golangci-lint-action@v2
55 - name: Prepare nancy dependency list
56 run: go list -json -m all > go.list
57 - name: Run nancy
58 uses: sonatype-nexus-community/nancy-github-action@main
59 - run: make init
60 - run: go-acc -o coverage.out ./... -- -v -failfast -timeout=20m -tags sqlite
61 - name: Convert coverage report to lcov
62 run: gcov2lcov -infile=coverage.out -outfile=coverage.lcov
63 - name: Coveralls
64 uses: coverallsapp/github-action@master
65 with:
66 github-token: ${{ secrets.GITHUB_TOKEN }}
67 path-to-lcov: coverage.lcov
View as plain text