forked from mirror/go-sqlite3
132 lines
3.5 KiB
YAML
132 lines
3.5 KiB
YAML
name: Go
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
test:
|
|
name: Test
|
|
runs-on: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-latest, macos-latest ]
|
|
go: [ '1.11.13', '1.12.17', '1.13.15', '1.14.7', '1.15' ]
|
|
fail-fast: false
|
|
steps:
|
|
- if: startsWith(matrix.os, 'macos')
|
|
run: brew update
|
|
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: Get Build Tools
|
|
run: |
|
|
go get github.com/mattn/goveralls
|
|
go get golang.org/x/tools/cmd/cover
|
|
|
|
- name: Add $GOPATH/bin to $PATH
|
|
run: |
|
|
echo "::add-path::$(go env GOPATH)/bin"
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Setup goveralls
|
|
run: goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx -parallel
|
|
|
|
- name: Test1
|
|
run: go test -race -v . -tags ""
|
|
|
|
- name: Test2
|
|
run: go test -race -v . -tags "libsqlite3"
|
|
|
|
- name: Test3
|
|
run: go test -race -v . -tags "sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_preupdate_hook sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_trace sqlite_userauth sqlite_vacuum_incr sqlite_vtable sqlite_unlock_notify"
|
|
|
|
- name: Test4
|
|
run: go test -race -v . -tags "sqlite_vacuum_full"
|
|
|
|
test-windows:
|
|
name: Test for Windows
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
strategy:
|
|
matrix:
|
|
go: [ '1.11.13', '1.12.17', '1.13.15', '1.14.7', '1.15' ]
|
|
fail-fast: false
|
|
steps:
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
update: true
|
|
install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-sqlite3
|
|
msystem: MINGW64
|
|
path-type: inherit
|
|
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: Get Build Tools
|
|
run: |
|
|
go get github.com/mattn/goveralls
|
|
go get golang.org/x/tools/cmd/cover
|
|
shell: msys2 {0}
|
|
|
|
- name: Add $GOPATH/bin to $PATH
|
|
run: |
|
|
echo "::add-path::$(go env GOPATH)/bin"
|
|
shell: msys2 {0}
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Setup goveralls
|
|
run: goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx -parallel
|
|
shell: msys2 {0}
|
|
|
|
- name: Test1
|
|
run: go test -race -v . -tags ""
|
|
shell: msys2 {0}
|
|
|
|
- name: Test2
|
|
run: go test -race -v . -tags "libsqlite3"
|
|
shell: msys2 {0}
|
|
|
|
- name: Test3
|
|
run: |
|
|
echo 'skip this test'
|
|
echo go test -race -v . -tags "sqlite_allow_uri_authority sqlite_app_armor sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_preupdate_hook sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_trace sqlite_userauth sqlite_vacuum_incr sqlite_vtable sqlite_unlock_notify"
|
|
shell: msys2 {0}
|
|
|
|
- name: Test4
|
|
run: go test -race -v . -tags "sqlite_vacuum_full"
|
|
shell: msys2 {0}
|
|
|
|
finish:
|
|
needs: [test, test-windows]
|
|
name: Test Finished
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.x
|
|
|
|
- name: Get Build Tools
|
|
run: |
|
|
go get github.com/mattn/goveralls
|
|
go get golang.org/x/tools/cmd/cover
|
|
- name: Add $GOPATH/bin to $PATH
|
|
run: |
|
|
echo "::add-path::$(go env GOPATH)/bin"
|
|
- name: Send coverage
|
|
env:
|
|
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx -parallel-finish
|
|
# based on: github.com/koron-go/_skeleton/.github/workflows/go.yml
|