77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
name: Test Bats Unix
|
|
on: [pull_request]
|
|
|
|
concurrency:
|
|
group: ci-bats-unix-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Bats tests
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ ubuntu-22.04, macos-latest ]
|
|
env:
|
|
use_credentials: ${{ secrets.AWS_SECRET_ACCESS_KEY != '' && secrets.AWS_ACCESS_KEY_ID != '' }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
id: go
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ^16
|
|
- name: Create CI Bin
|
|
run: |
|
|
mkdir -p ./.ci_bin
|
|
echo "$(pwd)/.ci_bin" >> $GITHUB_PATH
|
|
- name: Install ICU4C (MacOS)
|
|
if: ${{ matrix.os == '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: Verify Bats Naming Scheme
|
|
run: ./check_bats_fmt.sh
|
|
working-directory: ./testing/bats/setup
|
|
- name: Build SQL Syntax
|
|
run: ./build.sh
|
|
working-directory: ./postgres/parser
|
|
shell: bash
|
|
- name: Install Bats
|
|
run: |
|
|
npm i bats
|
|
echo "$(pwd)/node_modules/.bin" >> $GITHUB_PATH
|
|
working-directory: ./.ci_bin
|
|
- name: Install DoltgreSQL
|
|
working-directory: ./
|
|
run: |
|
|
go build -mod=readonly -o .ci_bin/doltgres ./cmd/doltgres
|
|
- name: Install PSQL Ubuntu
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
run: |
|
|
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
|
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
|
sudo apt-get update
|
|
sudo apt-get install --yes --no-install-recommends postgresql-client-15
|
|
- name: Install PSQL MacOS
|
|
if: matrix.os == 'macos-latest'
|
|
run: |
|
|
brew install postgresql@15
|
|
brew link --overwrite postgresql@15
|
|
- name: Test all Unix
|
|
env:
|
|
SQL_ENGINE: "local-engine"
|
|
BATS_TEST_RETRIES: "3"
|
|
run: |
|
|
bats --tap .
|
|
working-directory: ./testing/bats
|