Skip to content

Scala version compatibility #6

Scala version compatibility

Scala version compatibility #6

Workflow file for this run

name: Continuous Integration
on:
push:
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
pull_request:
paths-ignore: [ '**/*.html', '**/*.md', '**/*.txt', '**/*.xml', '**/*.yaml', '**/*.yml', '**/LICENSE', '**/NOTICE' ]
# The branches below must be a subset of the branches above
branches: [ 'main', '[0-9]+.[0-9]+.[Xx]' ]
workflow_dispatch:
#env:
# MAVEN_OPTS: -Xmx4g -Xms1g
jobs:
build:
name: JDK ${{ matrix.jdk }} - Scala ${{ matrix.scala }} - Spark ${{ matrix.spark }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
jdk: [ 8, 11, 17 ]
scala: [ 2.12.20, 2.13.16 ]
spark: [ 3.4.4, 3.5.4 ]
env:
JDK_VERSION: ${{ matrix.jdk }}
SCALA_VERSION: ${{ matrix.scala }}
SPARK_VERSION: ${{ matrix.spark }}
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Cache local Maven repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: build-${{ runner.os }}-jdk-${{ matrix.jdk }}-scala-${{ matrix.scala }}-spark-${{ matrix.spark }}-${{ hashFiles('**/pom.xml') }}
restore-keys: build-${{ runner.os }}-jdk-${{matrix.jdk}}-scala-${{ matrix.scala }}-spark-${{ matrix.spark }}-maven-
- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'temurin'
java-package: jdk
architecture: x64
cache: sbt
- name: Setup SBT
uses: sbt/setup-sbt@v1
- name: Echo config versions
run: >
java -version
echo Scala version: $SCALA_VERSION
echo Spark version: $SPARK_VERSION
- name: Build and test
run: >
sbt --batch clean test
# Architecture options: x86, x64, armv7, aarch64, ppc64le
# setup-java@v4 has a "with cache" option
# Lifecycle: validate, compile, test, package, verify, install, deploy
# -B batch mode, never stops for user input
# -V show Version without stopping
# -X debug mode
# -q quiet, only show errors