mirror of
https://github.com/dolthub/dolt.git
synced 2026-04-23 13:48:42 -05:00
114 lines
4.0 KiB
YAML
114 lines
4.0 KiB
YAML
name: Test Bats Unix Remote
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
paths:
|
|
- 'go/**'
|
|
- 'integration-tests/**'
|
|
|
|
concurrency:
|
|
group: ci-bats-unix-remote${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Bats tests
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: true
|
|
env:
|
|
use_credentials: ${{ secrets.AWS_SECRET_ACCESS_KEY != '' && secrets.AWS_ACCESS_KEY_ID != '' }}
|
|
# We only run these as seaparte workflow if we do not have AWS credentials.
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
- name: Setup Go 1.x
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go/go.mod
|
|
id: go
|
|
- name: Setup Python 3.x
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.10"
|
|
- uses: actions/setup-node@v4
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
with:
|
|
node-version: ^16
|
|
- name: Create CI Bin
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: |
|
|
mkdir -p ./.ci_bin
|
|
echo "$(pwd)/.ci_bin" >> $GITHUB_PATH
|
|
- name: Install Bats
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: |
|
|
npm i bats
|
|
echo "$(pwd)/node_modules/.bin" >> $GITHUB_PATH
|
|
working-directory: ./.ci_bin
|
|
- name: Install Python Deps
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: |
|
|
pip install mysql-connector-python
|
|
pip install pandas
|
|
pip install pyarrow
|
|
- name: Install Dolt
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
working-directory: ./go
|
|
run: |
|
|
go build -mod=readonly -o ../.ci_bin/dolt ./cmd/dolt/.
|
|
|
|
go build -mod=readonly -o ../.ci_bin/remotesrv ./utils/remotesrv/.
|
|
go build -mod=readonly -o ../.ci_bin/noms ./store/cmd/noms/.
|
|
- name: Setup Dolt Config
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: |
|
|
dolt config --global --add user.name 'Dolthub Actions'
|
|
dolt config --global --add user.email 'actions@dolthub.com'
|
|
- name: Install expect
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: sudo apt-get install -y expect
|
|
- name: Install Maven
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
working-directory: ./.ci_bin
|
|
run: |
|
|
curl -LO https://dlcdn.apache.org/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.tar.gz
|
|
tar -xf apache-maven-3.9.12-bin.tar.gz
|
|
echo "$(pwd)/apache-maven-3.9.12/bin" >> $GITHUB_PATH
|
|
- name: Install Hadoop
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
working-directory: ./.ci_bin
|
|
run: |
|
|
curl -LO https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
|
|
tar xvf hadoop-3.3.6.tar.gz
|
|
echo "$(pwd)/hadoop-3.3.6/bin" >> $GITHUB_PATH
|
|
- name: Install parquet-cli
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
id: parquet_cli
|
|
working-directory: ./.ci_bin
|
|
run: |
|
|
curl -OL https://github.com/apache/parquet-mr/archive/refs/tags/apache-parquet-1.12.3.tar.gz
|
|
tar zxvf apache-parquet-1.12.3.tar.gz
|
|
cd parquet-java-apache-parquet-1.12.3/parquet-cli
|
|
mvn clean install -DskipTests
|
|
runtime_jar="$(pwd)"/target/parquet-cli-1.12.3-runtime.jar
|
|
echo "runtime_jar=$runtime_jar" >> $GITHUB_OUTPUT
|
|
- name: Check expect
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
run: expect -v
|
|
- name: Test all Unix
|
|
if: ${{ env.use_credentials != 'true' }}
|
|
env:
|
|
SQL_ENGINE: "remote-engine"
|
|
PARQUET_RUNTIME_JAR: ${{ steps.parquet_cli.outputs.runtime_jar }}
|
|
BATS_TEST_RETRIES: "3"
|
|
run: |
|
|
bats --tap .
|
|
working-directory: ./integration-tests/bats
|