Skip to content

feat: move and fix adhoc tests #228

feat: move and fix adhoc tests

feat: move and fix adhoc tests #228

Workflow file for this run

name: Support Matrix
on:
pull_request:
push:
branches:
- main
jobs:
consumers:
name: Ensure support matrix is up-to-date
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
target: [consume, produce]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install Python dependencies
run: pip install -r requirements.txt
- name: Install Java
uses: actions/setup-java@v4
if: ${{ matrix.target == 'produce' }}
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
if: ${{ matrix.target == 'produce' }}
with:
gradle-version: 8.8
- name: Build Isthmus
working-directory: ./substrait-java/isthmus
if: ${{ matrix.target == 'produce' }}
run: ../gradlew shadowJar
- name: Copy Isthmus JARs
if: ${{ matrix.target == 'produce' }}
run: |-
mkdir ./jars
cp substrait-java/isthmus/build/libs/*all.jar ./jars
- name: Run functions tests
run: |-
pytest -v --tb=no \
-m ${{ matrix.target }}_substrait_snapshot \
-k "function/ or ibis_expressions" \
substrait_consumer/ \
--csv ${{ matrix.target }}r_pytest_output.csv --csv-delimiter ';' \
--csv-columns 'id,status,properties_as_columns'
- name: Parse results
run: |-
python scripts/parse_${{ matrix.target }}r_pytest_output.py \
--input ${{ matrix.target }}r_pytest_output.csv \
--output app/${{ matrix.target }}r_results.csv
- name: Ensure CSV is up-to-date
run: git diff --exit-code || (echo "Please update the support matrix, add it to this PR, and run CI again."; false)