Skip to content

mvp-0.0.1

mvp-0.0.1 #11

name: Schema Validation
on:
workflow_dispatch:
pull_request:
branches: [ main ]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
- name: Build and test
run: sbt -v "fullCheck"
- name: Build validation CLI assembly and generate mock Parquet
run: |
sbt -v "validationCli/assembly"
java -Dff.mock.output=/tmp/mock.parquet -cp $(ls modules/validation-cli/target/scala-2.13/*-assembly*.jar) com.flowforge.validation.MockParquetWriter
- name: Validate schema (Spark JSON expected)
run: |
java -cp $(ls modules/validation-cli/target/scala-2.13/*-assembly*.jar) com.flowforge.validation.SchemaValidateCli \
--mode parquet \
--input /tmp/mock.parquet \
--expected-json docs/examples/mock_schemas/sales_spark_schema.json \
--expected-format spark \
--master local[*]
# Example (commented): run schema validation CLI in CI
# - name: Validate Delta table schema
# run: |
# sbt "validationCli/assembly"
# java -jar modules/validation-cli/target/scala-2.13/validation-cli-assembly-*.jar \
# --mode delta --input /mnt/delta/sales --expected-json contracts/sales_v1.spark_schema.json --master local[*]