name: CI executor-computation
on:
    push:
        branches: [main, dev]
        paths:
            - "executor-base/**"
            - "executor-computation/**"
            - "common/**"
    pull_request:
        branches: [main, dev]
        paths:
            - "executor-base/**"
            - "executor-computation/**"
            - "common/**"

    workflow_dispatch:
jobs:
    build:
        name: Build
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
              with:
                  fetch-depth: 0
            - name: Set up JDK 11
              uses: actions/setup-java@v1
              with:
                  java-version: 11
            - name: Cache SonarCloud packages
              uses: actions/cache@v1
              with:
                  path: ~/.sonar/cache
                  key: ${{ runner.os }}-sonar
                  restore-keys: ${{ runner.os }}-sonar
            - name: Cache Maven packages
              uses: actions/cache@v1
              with:
                  path: ~/.m2
                  key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
                  restore-keys: ${{ runner.os }}-m2
            - name: Build common
              run: mvn -f common/pom.xml -B install
            - name: Build executorBase
              run: mvn -f executor-base/pom.xml -B install
            - name: Build and analyze
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
              run: mvn -f executor-computation/pom.xml -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=scs-asse-fs21-group1_tapas-executor2
