go-sqlite3/.github/workflows/go.yaml

116 lines
3.2 KiB
YAML
Raw Normal View History

name: Go
on: [push, pull_request]
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
matrix:
2020-08-25 08:24:45 +03:00
os: [ubuntu-latest, macos-latest]
2024-01-25 16:36:00 +03:00
go: ['1.19', '1.20', '1.21']
fail-fast: false
env:
OS: ${{ matrix.os }}
GO: ${{ matrix.go }}
steps:
2020-08-25 08:24:45 +03:00
- if: startsWith(matrix.os, 'macos')
run: brew update
2020-08-25 08:24:45 +03:00
- uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
2020-08-25 08:24:45 +03:00
- name: Get Build Tools
run: |
2022-05-13 04:44:37 +03:00
GO111MODULE=on go install github.com/ory/go-acc@latest
2020-08-25 08:24:45 +03:00
- name: Add $GOPATH/bin to $PATH
run: |
2020-11-17 18:34:04 +03:00
echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH"
2020-08-25 08:24:45 +03:00
- uses: actions/checkout@v2
2020-08-25 08:24:45 +03:00
- name: 'Tags: default'
run: go-acc . -- -race -v -tags ""
2020-08-25 08:24:45 +03:00
- name: 'Tags: libsqlite3'
run: go-acc . -- -race -v -tags "libsqlite3"
2020-08-25 08:24:45 +03:00
- name: 'Tags: full'
run: go-acc . -- -race -v -tags "sqlite_allow_uri_authority sqlite_app_armor sqlite_column_metadata sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_math_functions sqlite_os_trace sqlite_preupdate_hook sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_trace sqlite_unlock_notify sqlite_userauth sqlite_vacuum_incr sqlite_vtable"
2020-08-25 08:24:45 +03:00
- name: 'Tags: vacuum'
run: go-acc . -- -race -v -tags "sqlite_vacuum_full"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
env_vars: OS,GO
file: coverage.txt
test-windows:
name: Test for Windows
runs-on: windows-latest
defaults:
run:
shell: bash
strategy:
matrix:
2024-01-25 16:36:00 +03:00
go: ['1.19', '1.20', '1.21']
fail-fast: false
env:
OS: windows-latest
GO: ${{ matrix.go }}
steps:
2020-08-25 08:24:45 +03:00
- 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: Add $GOPATH/bin to $PATH
run: |
2020-11-17 18:34:04 +03:00
echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH"
2020-08-25 08:24:45 +03:00
shell: msys2 {0}
- uses: actions/checkout@v2
- name: 'Tags: default'
run: go build -race -v -tags ""
2020-08-25 08:24:45 +03:00
shell: msys2 {0}
- name: 'Tags: libsqlite3'
run: go build -race -v -tags "libsqlite3"
2020-08-25 08:24:45 +03:00
shell: msys2 {0}
- name: 'Tags: full'
2020-08-25 08:24:45 +03:00
run: |
echo 'skip this test'
echo go build -race -v -tags "sqlite_allow_uri_authority sqlite_app_armor sqlite_column_metadata sqlite_foreign_keys sqlite_fts5 sqlite_icu sqlite_introspect sqlite_json sqlite_math_functions sqlite_preupdate_hook sqlite_secure_delete sqlite_see sqlite_stat4 sqlite_trace sqlite_unlock_notify sqlite_userauth sqlite_vacuum_incr sqlite_vtable"
2020-08-25 08:24:45 +03:00
shell: msys2 {0}
- name: 'Tags: vacuum'
run: go build -race -v -tags "sqlite_vacuum_full"
2020-08-25 08:24:45 +03:00
shell: msys2 {0}
- name: Upload coverage to Codecov
2021-07-20 16:28:26 +03:00
uses: codecov/codecov-action@v2
2020-08-25 08:24:45 +03:00
with:
env_vars: OS,GO
file: coverage.txt
2020-08-25 08:24:45 +03:00
# based on: github.com/koron-go/_skeleton/.github/workflows/go.yml