summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml
diff options
context:
space:
mode:
Diffstat (limited to 'dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml')
-rw-r--r--dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml104
1 files changed, 104 insertions, 0 deletions
diff --git a/dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml b/dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml
new file mode 100644
index 0000000..8860021
--- /dev/null
+++ b/dependencies/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/.github/workflows/test.yml
@@ -0,0 +1,104 @@
+name: test
+on:
+ pull_request:
+ push:
+ workflow_dispatch:
+
+env:
+ MYSQL_TEST_USER: gotest
+ MYSQL_TEST_PASS: secret
+ MYSQL_TEST_ADDR: 127.0.0.1:3306
+ MYSQL_TEST_CONCURRENT: 1
+
+jobs:
+ list:
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+ steps:
+ - name: list
+ id: set-matrix
+ run: |
+ import json
+ go = [
+ # Keep the most recent production release at the top
+ '1.16',
+ # Older production releases
+ '1.15',
+ '1.14',
+ '1.13',
+ '1.12',
+ '1.11',
+ ]
+ mysql = [
+ '8.0',
+ '5.7',
+ '5.6',
+ 'mariadb-10.5',
+ 'mariadb-10.4',
+ 'mariadb-10.3',
+ ]
+
+ includes = []
+ # Go versions compatibility check
+ for v in go[1:]:
+ includes.append({'os': 'ubuntu-latest', 'go': v, 'mysql': mysql[0]})
+
+ matrix = {
+ # OS vs MySQL versions
+ 'os': [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ],
+ 'go': [ go[0] ],
+ 'mysql': mysql,
+
+ 'include': includes
+ }
+ output = json.dumps(matrix, separators=(',', ':'))
+ print('::set-output name=matrix::{0}'.format(output))
+ shell: python
+ test:
+ needs: list
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJSON(needs.list.outputs.matrix) }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-go@v2
+ with:
+ go-version: ${{ matrix.go }}
+ - uses: shogo82148/actions-setup-mysql@v1
+ with:
+ mysql-version: ${{ matrix.mysql }}
+ user: ${{ env.MYSQL_TEST_USER }}
+ password: ${{ env.MYSQL_TEST_PASS }}
+ my-cnf: |
+ innodb_log_file_size=256MB
+ innodb_buffer_pool_size=512MB
+ max_allowed_packet=16MB
+ ; TestConcurrent fails if max_connections is too large
+ max_connections=50
+ local_infile=1
+ - name: setup database
+ run: |
+ mysql --user 'root' --host '127.0.0.1' -e 'create database gotest;'
+
+ - name: test
+ run: |
+ go test -v '-covermode=count' '-coverprofile=coverage.out'
+
+ - name: Send coverage
+ uses: shogo82148/actions-goveralls@v1
+ with:
+ path-to-profile: coverage.out
+ flag-name: ${{ runner.os }}-Go-${{ matrix.go }}-DB-${{ matrix.mysql }}
+ parallel: true
+
+ # notifies that all test jobs are finished.
+ finish:
+ needs: test
+ if: always()
+ runs-on: ubuntu-latest
+ steps:
+ - uses: shogo82148/actions-goveralls@v1
+ with:
+ parallel-finished: true