# This workflow will build a Java project with Maven # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven name: Build AspectJ on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: jobs: build: # No automatic builds for Dependabot PRs # Caveat: cannot start 'if:' expression with '!', hence '!= true' if: startsWith(github.actor, 'dependabot') != true strategy: fail-fast: false matrix: # TODO: switch from 18-ea to 18, as soon as Temurin offers the download on https://adoptium.net/releases.html java: [ 11, 17, 18-ea ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: java-version: ${{ matrix.java }} distribution: temurin - name: Print tool versions run: | java -version ./mvnw -B --version ant -version - name: Set up cache for ~./m2/repository uses: actions/cache@v3 with: path: | ~/.m2/repository !~/.m2/repository/org/aspectj key: maven-${{ runner.os }}-java-${{ matrix.java }}-${{ hashFiles('**/pom.xml') }} restore-keys: | maven-${{ runner.os }}-java-${{ matrix.java }}- maven-${{ runner.os }}- maven- - name: Compile + package code run: ./mvnw -B --file pom.xml -DskipTests package - name: Run Tests # Tests in module ajde call Swing/AWT classes. Without frame buffer they throw # HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. uses: GabrielBB/xvfb-action@v1 with: run: ./mvnw -B --file pom.xml -Daspectj.tests.verbose=false verify