48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
name: Enginetests
|
|
on: [pull_request]
|
|
|
|
concurrency:
|
|
group: test-enginetests-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
id: go
|
|
- name: Install ICU4C (MacOS)
|
|
if: ${{ matrix.platform == 'macos-latest' }}
|
|
run: |
|
|
dir=$(brew --cellar icu4c)
|
|
dir="$dir"/$(ls "$dir")
|
|
echo CGO_CPPFLAGS=-I$dir/include >> $GITHUB_ENV
|
|
echo CGO_LDFLAGS=-L$dir/lib >> $GITHUB_ENV
|
|
- name: Install ICU4C (Windows)
|
|
if: ${{ matrix.platform == 'windows-latest' }}
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
path-type: inherit
|
|
msystem: UCRT64
|
|
pacboy: icu:p toolchain:p pkg-config:p
|
|
- name: Build SQL Syntax
|
|
run: ./build.sh
|
|
working-directory: ./postgres/parser
|
|
shell: bash
|
|
- name: Test (*nix)
|
|
if: ${{ matrix.platform != 'windows-latest' }}
|
|
run: go test --timeout=20m $(go list ./testing/go/enginetest)
|
|
- name: Test (Windows)
|
|
if: ${{ matrix.platform == 'windows-latest' }}
|
|
shell: msys2 {0}
|
|
run: go.exe test --timeout=20m $(go.exe list ./testing/go/enginetest)
|