finalize some performance-critical types (#2049)
#4242
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Continuous integration | |
| on: | |
| merge_group: | |
| pull_request: | |
| push: | |
| branches-ignore: | |
| - 'dependabot/**' | |
| - 'gh-readonly-queue/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build_gradle: | |
| name: "JDK ${{ matrix.java }} on ${{ matrix.os }}" | |
| strategy: | |
| matrix: | |
| include: | |
| - os: macos-latest | |
| java: 17 | |
| - os: windows-latest | |
| java: 17 | |
| - os: ubuntu-latest | |
| java: 17 | |
| - os: ubuntu-latest | |
| java: 21 | |
| - os: ubuntu-latest | |
| java: 25 | |
| - os: ubuntu-latest | |
| java: 26 | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Check out WALA sources | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 | |
| with: | |
| persist-credentials: false | |
| - name: 'Set up JDKs' | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 | |
| with: | |
| # Install all the JDK versions we use in the matrix. We do JDK 26 last to use that | |
| # to run Gradle. | |
| java-version: | | |
| 17 | |
| 21 | |
| 25 | |
| 26 | |
| distribution: 'temurin' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 | |
| with: | |
| build-scan-publish: true | |
| build-scan-terms-of-use-url: https://gradle.com/terms-of-service | |
| build-scan-terms-of-use-agree: 'yes' | |
| - name: Choose extra Linux-only Gradle tasks | |
| run: echo OS_SPECIFIC_GRADLE_TASKS='publishAllPublicationsToFakeRemoteRepository shellcheck' >> $GITHUB_ENV | |
| if: runner.os == 'Linux' | |
| - name: Prepare to run under XVFB | |
| run: echo XVFB_RUN=xvfb-run >> $GITHUB_ENV | |
| if: runner.os == 'Linux' | |
| - name: Build and test using Gradle | |
| shell: sh | |
| run: >- | |
| ${XVFB_RUN} | |
| ./gradlew | |
| --scan | |
| --console=colored "-Pcom.ibm.wala.jdk-version=${{ matrix.java }}" | |
| aggregatedJavadocs javadoc build ${OS_SPECIFIC_GRADLE_TASKS} checkGitCleanliness | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: Test results for JDK ${{ matrix.java }} on ${{ matrix.os }} | |
| path: | | |
| **/build/reports/tests/ | |
| **/build/test-results/ | |
| - name: Aggregate coverage | |
| id: jacoco_report | |
| run: ./gradlew testCodeCoverageReport "-Pcom.ibm.wala.jdk-version=${{ matrix.java }}" | |
| if: github.repository == 'wala/WALA' | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 | |
| with: | |
| files: ./code-coverage-report/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml | |
| token: ${{ secrets.WALA_MAIN_CODECOV_TOKEN }} | |
| if: steps.jacoco_report.outcome == 'success' | |
| upload_event_file: | |
| name: Upload event file | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Upload event file | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: Event file | |
| path: ${{ github.event_path }} | |
| generate_docs: | |
| name: 'Generate latest docs' | |
| needs: build_gradle | |
| if: github.event_name == 'push' && github.repository == 'wala/WALA' && github.ref == 'refs/heads/master' | |
| runs-on: ubuntu-latest | |
| env: | |
| JDK_VERSION: 26 | |
| steps: | |
| - name: 'Check out repository' | |
| uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 | |
| with: | |
| persist-credentials: false | |
| - name: 'Set up JDK' | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 | |
| with: | |
| java-version: ${{ env.JDK_VERSION }} | |
| distribution: 'zulu' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 | |
| - name: 'Generate latest docs' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.WALA_BOT_GH_TOKEN }} | |
| run: ./generate-latest-docs.sh ${{ env.JDK_VERSION }} |