name: Build

on:
  push:
    branches:
      - "main"
    paths-ignore:
      - '.gitignore'
      - 'CODEOWNERS'
      - 'LICENSE'
      - '*.md'
      - '*.adoc'
      - '*.txt'
      - '.all-contributorsrc'
  pull_request:
    paths-ignore:
      - '.gitignore'
      - 'CODEOWNERS'
      - 'LICENSE'
      - '*.md'
      - '*.adoc'
      - '*.txt'
      - '.all-contributorsrc'

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up JDK 17
      uses: actions/setup-java@v1
      with:
        java-version: 17

    - name: Get Date
      id: get-date
      run: |
        echo "::set-output name=date::$(/bin/date -u "+%Y-%m")"
      shell: bash
    - name: Cache Maven Repository
      id: cache-maven
      uses: actions/cache@v2
      with:
        path: ~/.m2/repository
        # refresh cache every month to avoid unlimited growth
        key: maven-repo-${{ runner.os }}-${{ steps.get-date.outputs.date }}

    - name: Build with Maven
      run: mvn -B formatter:validate install --file pom.xml