name: CI

on: [push, pull_request]

jobs:
  build:
    name: Build Spark

    runs-on: ubuntu-20.04
    strategy:
      matrix:
        java:
          - 8
          - 11
          - 17
          - 21

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Set up JDK ${{ matrix.java }}
        uses: actions/setup-java@v1
        with:
            java-version: ${{ matrix.java }}

      - name: Cache Maven packages
        uses: actions/cache@v2
        with:
            path: ~/.m2
            key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
            restore-keys: ${{ runner.os }}-m2

      - name: Build with Maven
        run: mvn --batch-mode --update-snapshots verify
