|
@@ -30,13 +30,14 @@ jobs:
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
steps:
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
|
|
+ # go-mockgen panics on Go 1.22.x, see https://github.com/derision-test/go-mockgen/issues/51
|
|
go-version: 1.21.x
|
|
go-version: 1.21.x
|
|
- name: Install Task
|
|
- name: Install Task
|
|
- uses: arduino/setup-task@v1
|
|
|
|
|
|
+ uses: arduino/setup-task@v2
|
|
with:
|
|
with:
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Check Go module tidiness and generated files
|
|
- name: Check Go module tidiness and generated files
|
|
@@ -52,7 +53,7 @@ jobs:
|
|
exit 1
|
|
exit 1
|
|
fi
|
|
fi
|
|
- name: Run golangci-lint
|
|
- name: Run golangci-lint
|
|
- uses: golangci/golangci-lint-action@v3
|
|
|
|
|
|
+ uses: golangci/golangci-lint-action@v4
|
|
with:
|
|
with:
|
|
version: latest
|
|
version: latest
|
|
args: --timeout=30m
|
|
args: --timeout=30m
|
|
@@ -61,20 +62,20 @@ jobs:
|
|
name: Test
|
|
name: Test
|
|
strategy:
|
|
strategy:
|
|
matrix:
|
|
matrix:
|
|
- go-version: [ 1.20.x, 1.21.x ]
|
|
|
|
|
|
+ go-version: [ 1.21.x, 1.22.x ]
|
|
platform: [ ubuntu-latest, macos-latest ]
|
|
platform: [ ubuntu-latest, macos-latest ]
|
|
runs-on: ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
steps:
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: Run tests with coverage
|
|
- name: Run tests with coverage
|
|
run: go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic ./...
|
|
run: go test -shuffle=on -v -race -coverprofile=coverage -covermode=atomic ./...
|
|
- name: Upload coverage report to Codecov
|
|
- name: Upload coverage report to Codecov
|
|
- uses: codecov/codecov-action@v1.5.0
|
|
|
|
|
|
+ uses: codecov/codecov-action@v4
|
|
with:
|
|
with:
|
|
file: ./coverage
|
|
file: ./coverage
|
|
flags: unittests
|
|
flags: unittests
|
|
@@ -101,20 +102,20 @@ jobs:
|
|
name: Test Windows
|
|
name: Test Windows
|
|
strategy:
|
|
strategy:
|
|
matrix:
|
|
matrix:
|
|
- go-version: [ 1.20.x, 1.21.x ]
|
|
|
|
|
|
+ go-version: [ 1.21.x, 1.22.x ]
|
|
platform: [ windows-latest ]
|
|
platform: [ windows-latest ]
|
|
runs-on: ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
steps:
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: Run tests with coverage
|
|
- name: Run tests with coverage
|
|
run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./...
|
|
run: go test -shuffle=on -v -coverprofile=coverage -covermode=atomic ./...
|
|
- name: Upload coverage report to Codecov
|
|
- name: Upload coverage report to Codecov
|
|
- uses: codecov/codecov-action@v1.5.0
|
|
|
|
|
|
+ uses: codecov/codecov-action@v4
|
|
with:
|
|
with:
|
|
file: ./coverage
|
|
file: ./coverage
|
|
flags: unittests
|
|
flags: unittests
|
|
@@ -139,7 +140,7 @@ jobs:
|
|
name: Postgres
|
|
name: Postgres
|
|
strategy:
|
|
strategy:
|
|
matrix:
|
|
matrix:
|
|
- go-version: [ 1.20.x, 1.21.x ]
|
|
|
|
|
|
+ go-version: [ 1.21.x, 1.22.x ]
|
|
platform: [ ubuntu-latest ]
|
|
platform: [ ubuntu-latest ]
|
|
runs-on: ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.platform }}
|
|
services:
|
|
services:
|
|
@@ -156,9 +157,9 @@ jobs:
|
|
- 5432:5432
|
|
- 5432:5432
|
|
steps:
|
|
steps:
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: Run tests with coverage
|
|
- name: Run tests with coverage
|
|
@@ -175,16 +176,16 @@ jobs:
|
|
name: MySQL
|
|
name: MySQL
|
|
strategy:
|
|
strategy:
|
|
matrix:
|
|
matrix:
|
|
- go-version: [ 1.20.x, 1.21.x ]
|
|
|
|
|
|
+ go-version: [ 1.21.x, 1.22.x ]
|
|
platform: [ ubuntu-20.04 ]
|
|
platform: [ ubuntu-20.04 ]
|
|
runs-on: ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
steps:
|
|
- name: Start MySQL server
|
|
- name: Start MySQL server
|
|
run: sudo systemctl start mysql
|
|
run: sudo systemctl start mysql
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: Run tests with coverage
|
|
- name: Run tests with coverage
|
|
@@ -200,14 +201,14 @@ jobs:
|
|
name: SQLite - Go
|
|
name: SQLite - Go
|
|
strategy:
|
|
strategy:
|
|
matrix:
|
|
matrix:
|
|
- go-version: [ 1.20.x, 1.21.x ]
|
|
|
|
|
|
+ go-version: [ 1.21.x, 1.22.x ]
|
|
platform: [ ubuntu-latest ]
|
|
platform: [ ubuntu-latest ]
|
|
runs-on: ${{ matrix.platform }}
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
steps:
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
+ uses: actions/checkout@v4
|
|
- name: Install Go
|
|
- name: Install Go
|
|
- uses: actions/setup-go@v4
|
|
|
|
|
|
+ uses: actions/setup-go@v5
|
|
with:
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: Run tests with coverage
|
|
- name: Run tests with coverage
|