Skip to content

mvp-0.0.1

mvp-0.0.1 #45

Workflow file for this run

name: CI
on:
push:
branches: [ main, mvp-0.0.1-snapshot ]
pull_request:
branches: [ main, mvp-0.0.1-snapshot ]
env:
JAVA_OPTS: -Xmx4G -XX:+UseG1GC
SBT_OPTS: -Xmx4G -XX:+UseG1GC
jobs:
build-and-test:
name: Build and test
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Cache SBT and dependencies
uses: actions/cache@v4
with:
path: |
~/.ivy2/cache
~/.cache/coursier
~/.sbt
key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt', '**/project/**/*.sbt', '**/project/**/Dependencies.scala') }}
restore-keys: |
${{ runner.os }}-sbt-
- name: Check formatting
run: sbt scalafmtCheckAll
- name: Compile all modules
run: sbt compile Test/compile
- name: Run tests with coverage
run: |
sbt coverage test
sbt coverageReport
sbt coverageAggregate
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
file: target/scala-2.13/scoverage-report/scoverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
- name: Run compile-fail tests
run: sbt "compile-fail-tests / test"
spark-it:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Cache Ivy and Coursier
uses: actions/cache@v4
with:
path: |
~/.ivy2/cache
~/.cache/coursier
~/.sbt
key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt', '**/project/**/*.sbt', '**/project/**/Dependencies.scala') }}
restore-keys: |
${{ runner.os }}-sbt-
- name: Run opt-in Spark/Delta ITs
run: |
sbt -DwithSparkIT=true "enginesSpark/testOnly *SparkDeltaSCD2IT"