Skip to content

setup CI workflows

setup CI workflows #42

Workflow file for this run

name: "CI"
on:
push:
branches: [ "main" ]
paths-ignore: ["docs/**", "**/README.md", "**/CODE_OF_CONDUCT.md", "**/CONTRIBUTING.md", "**/LICENSE"]
pull_request:
branches: ["main"]
paths-ignore: ["docs/**", "**/README.md", "**/CODE_OF_CONDUCT.md", "**/CONTRIBUTING.md", "**/LICENSE"]
types:
- opened
- reopened
- synchronize
workflow_dispatch:
inputs:
spark-version:
description: 'Spark version for the build (SemVer)'
required: true
jobs:
spark_versions_validation:
if: ${{ github.event_name != 'workflow_dispatch' }}
strategy:
matrix:
spark_version: ['3.2.4', '3.3.2', '3.4.1']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: 8
distribution: "temurin"
cache: "sbt"
- env:
SPARK_VERSION_OVERRIDE: ${{ matrix.spark_version }}
run: |
echo "$SPARK_VERSION_OVERRIDE" > project/spark-version.conf
- run: cat project/spark-version.conf
- run: sbt compile
- run: sbt test
build:
runs-on: ubuntu-latest
env:
SPARK_VERSION_OVERRIDE: ${{ inputs.spark-version }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: 8
distribution: "temurin"
cache: "sbt"
- if: ${{ env.SPARK_VERSION_OVERRIDE != '' }}
run: echo "$SPARK_VERSION_OVERRIDE" > project/spark-version.conf
- run: sbt compile
- run: sbt test
- run: sbt package
- run: tar cf artefacts.tar target/scala-*/*.jar */target/scala-*/*.jar
- uses: actions/[email protected]
with:
name: Artefacts
path: artefacts.tar
run-name: ${{ github.event_name == 'workflow_dispatch' && format('Building for Spark {0}', inputs.spark-version) || ' '}}