Skip to content

Workflow file for this run

name: Univalence Continuous Integration
on:
pull_request:
types: [ opened, reopened, synchronize ]
push:
branches: [ main, master ]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Download sources
run: sbt updateClassifiers
- name: Check formatting and linting
run: sbt "-Dfatal-warnings=true" check
example:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
example: [ "SimpleApp", "SparkCodeMigration", "UsingOlderSparkVersion", "WordCount", "ZIOEcosystem" ]
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Run example
run: sbt "project example${{ matrix.example }}" run
documentation:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: npm
cache-dependency-path: website/package-lock.json
- name: Install dependencies
working-directory: website
run: npm ci
- name: Build documentation
working-directory: website
run: npm run build
test:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
scala: [ "2.12.20", "2.13.16", "3.3.5" ]
project: [ "coreTests", "test" ]
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Run tests
if: ${{ !startsWith(matrix.scala, '2.13.') || matrix.project != 'coreTests' }}
run: sbt ++${{ matrix.scala }}! "project ${{ matrix.project }}" testSpecific
- name: Run tests 2.13.X with coverage
if: ${{ startsWith(matrix.scala, '2.13.') && matrix.project == 'coreTests' }}
run: sbt ++${{ matrix.scala }}! "project coreTests" testSpecificWithCoverage
- name: Publish coverage to codecov
if: ${{ startsWith(matrix.scala, '2.13.') && matrix.project == 'coreTests' }}
uses: codecov/codecov-action@v2
check-codegen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Check formatting and linting
working-directory: ./zio-spark-codegen
run: sbt check
test-codegen:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: sbt/setup-sbt@v1
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Run tests for codegen
working-directory: ./zio-spark-codegen
run: sbt test