Skip to content

Build and Test

Build and Test #30

Workflow file for this run

name: Build and Test
on:
push:
branches:
- main
tags:
- v*
pull_request:
branches:
- main
- prep-**
workflow_dispatch:
inputs:
logLevel:
default: warning
description: "Log level"
required: true
tags:
description: "Test scenario tags"
concurrency:
# older builds for the same pull request number or branch should be cancelled
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
shell: bash
env:
WHITESOURCE_API_KEY: ${{ secrets.WHITESOURCE_ACTION_TOKEN }}
run: ./ci/build.sh
test-windows:
needs: build
name: ${{ matrix.runConfig.cloud }} Windows java${{ matrix.runConfig.javaVersion }} tests ${{ matrix.runConfig.testGroups }} Snowflake JDBC ${{ matrix.runConfig.jdbcVersion }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
runConfig: [
{ cloud: 'AZURE', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'AZURE', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AZURE', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'GCP', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '11', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '17', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.15.1' },
{ cloud: 'AWS', javaVersion: '21', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: 'LATEST' }
]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.runConfig.javaVersion }}
distribution: 'temurin'
cache: maven
- uses: actions/setup-python@v5
with:
python-version: '3.12'
architecture: 'x64'
- name: Tests
shell: cmd
env:
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
CLOUD_PROVIDER: ${{ matrix.runConfig.cloud }}
TEST_GROUPS: ${{ matrix.runConfig.testGroups }}
JDBC_VERSION: ${{ matrix.runConfig.jdbcVersion }}
run: ci\\test_windows.bat
test-mac:
needs: build
name: ${{ matrix.runConfig.cloud }} Mac java${{ matrix.runConfig.javaVersion }} tests ${{ matrix.runConfig.testGroups }} Snowflake JDBC ${{ matrix.runConfig.jdbcVersion }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
runConfig: [
{ cloud: 'AZURE', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'AZURE', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AZURE', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'GCP', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '11', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '17', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.15.1' },
{ cloud: 'AWS', javaVersion: '21', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: 'LATEST' }
]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.runConfig.javaVersion }}
distribution: 'temurin'
cache: maven
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Homebrew Bash
shell: bash
run: brew install bash
- name: Tests
shell: bash
env:
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
CLOUD_PROVIDER: ${{ matrix.runConfig.cloud }}
TEST_GROUPS: ${{ matrix.runConfig.testGroups }}
JDBC_VERSION: ${{ matrix.runConfig.jdbcVersion }}
run: bash ./ci/test.sh
test-linux:
needs: build
name: ${{ matrix.runConfig.cloud }} Linux java${{ matrix.runConfig.javaVersion }} tests ${{ matrix.runConfig.testGroups }} Snowflake JDBC ${{ matrix.runConfig.jdbcVersion }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
runConfig: [
{ cloud: 'AZURE', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'AZURE', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AZURE', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '11', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.15.1' },
{ cloud: 'GCP', javaVersion: '17', testGroups: 'UNIT,STANDARD', jdbcVersion: 'LATEST' },
{ cloud: 'GCP', javaVersion: '21', testGroups: 'UNIT,STANDARD', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '11', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.13.51' },
{ cloud: 'AWS', javaVersion: '17', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: '3.15.1' },
{ cloud: 'AWS', javaVersion: '21', testGroups: 'UNIT,STANDARD,HYBRID', jdbcVersion: 'LATEST' }
]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.runConfig.javaVersion }}
distribution: 'temurin'
cache: maven
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Tests
shell: bash
env:
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
CLOUD_PROVIDER: ${{ matrix.runConfig.cloud }}
TEST_GROUPS: ${{ matrix.runConfig.testGroups }}
JDBC_VERSION: ${{ matrix.runConfig.jdbcVersion }}
run: ./ci/test.sh