name: Main workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [8, 11, 14]
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        fetch-depth: 0  # Shallow clones should be disabled for a better relevancy of analysis
    - name: Set up JDK
      uses: actions/setup-java@v1
      with:
        java-version: ${{ matrix.java }}
    - name: Cache SonarCloud packages
      uses: actions/cache@v2.1.3
      if: matrix.java == '11'
      with:
        path: ~/.sonar/cache
        key: ${{ runner.os }}-sonar
        restore-keys: ${{ runner.os }}-sonar
    - name: Cache Maven packages
      uses: actions/cache@v2.1.3
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
        restore-keys: ${{ runner.os }}-m2
    - name: Build
      run: ./mvnw -V -B -ntp install
    - name: Analyze with SonarCloud
      if: matrix.java == '11'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Needed to get PR information, if any
        SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
      run: ./mvnw -V -B -ntp org.sonarsource.scanner.maven:sonar-maven-plugin:sonar

name: Main workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [8, 11, 15]
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        fetch-depth: 0  # Shallow clones should be disabled for a better relevancy of analysis
    - name: Set up JDK
      uses: actions/setup-java@v1
      with:
        java-version: ${{ matrix.java }}
    - name: Cache SonarCloud packages
      uses: actions/cache@v2.1.3
      if: matrix.java == '11'
      with:
        path: ~/.sonar/cache
        key: ${{ runner.os }}-sonar
        restore-keys: ${{ runner.os }}-sonar
    - name: Cache Maven packages
      uses: actions/cache@v2.1.3
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
        restore-keys: ${{ runner.os }}-m2
    - name: Build
      run: ./mvnw -V -B -ntp install
    - name: Analyze with SonarCloud
      if: matrix.java == '11'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Needed to get PR information, if any
        SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
      run: ./mvnw -V -B -ntp org.sonarsource.scanner.maven:sonar-maven-plugin:sonar

Build with Java 15 in GitHub Main workflow
Build with Java 15 in GitHub Main workflow
