diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 735dc358c..7f09ec0ef 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -32,31 +32,21 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out WALA sources - uses: actions/checkout@v3 - - name: Cache Goomph - uses: actions/cache@v3 - with: - path: ~/.goomph - key: ${{ runner.os }}-goomph-${{ hashFiles('build.gradle') }} - restore-keys: ${{ runner.os }}-goomph- + uses: actions/checkout@v4 - name: 'Set up JDK ${{ matrix.java }}' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' - - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@v1 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 - name: Build and test using Gradle with ECJ - uses: gradle/gradle-build-action@v2 - with: - gradle-executable: xvfb-gradle.sh - arguments: aggregatedJavadocs build publishAllPublicationsToFakeRemoteRepository shellcheck --no-configuration-cache -Pcom.ibm.wala.jdk-version=${{ matrix.java }} + # use xvfb-gradle.sh to avoid headless test failures on Linux + run: ./xvfb-gradle.sh aggregatedJavadocs build publishAllPublicationsToFakeRemoteRepository shellcheck --no-configuration-cache "-Pcom.ibm.wala.jdk-version=${{ matrix.java }}" # testing ECJ compilation on any one OS is sufficient; we choose Linux arbitrarily if: runner.os == 'Linux' - name: Build and test using Gradle but without ECJ - uses: gradle/gradle-build-action@v2 - with: - arguments: aggregatedJavadocs javadoc build -PskipJavaUsingEcjTasks --no-configuration-cache -Pcom.ibm.wala.jdk-version=${{ matrix.java }} + run: ./gradlew aggregatedJavadocs javadoc build -PskipJavaUsingEcjTasks --no-configuration-cache "-Pcom.ibm.wala.jdk-version=${{ matrix.java }}" if: runner.os != 'Linux' - name: Check for Git cleanliness after build and test run: ./check-git-cleanliness.sh @@ -84,18 +74,20 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Check out repository' - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Cache Goomph - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.goomph key: ${{ runner.os }}-goomph-${{ hashFiles('build.gradle') }} restore-keys: ${{ runner.os }}-goomph- - - name: 'Set up JDK 11' - uses: actions/setup-java@v3 + - name: 'Set up JDK 21' + uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: 'temurin' + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 - name: 'Generate latest docs' env: GITHUB_TOKEN: ${{ secrets.WALA_BOT_GH_TOKEN }}