Repository navigation
Update dependency org.junit.jupiter:junit-jupiter to v6 #603
Workflow file for this run
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: CI | |
| # Controls when the workflow will run | |
| on: [push, pull_request] | |
| jobs: | |
| # This job will build and test the JSpecify Conformance Tests on the Checker Framework | |
| build-and-test: | |
| strategy: | |
| matrix: | |
| jdk: [ 11, 17, 21 ] | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: jspecify-conformance | |
| steps: | |
| # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
| - name: Check out CF JSpecify Conformance Tests | |
| uses: actions/checkout@v6 | |
| with: | |
| path: jspecify-conformance | |
| - name: Set up JDK 21 for Gradle to run on | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Set up JDK ${{ matrix.jdk }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: ${{matrix.jdk}} | |
| - name: Inject JAVA_HOME_21_64 into `gradle.properties` to always use JDK 21 for Gradle | |
| run: mkdir ~/.gradle && echo "org.gradle.java.home=$JAVA_HOME_21_X64" >> ~/.gradle/gradle.properties | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v6 | |
| # Build conformance test artifacts locally. | |
| - name: Create publish-helper init script | |
| run: | | |
| cat > "$RUNNER_TEMP/publish-helper.gradle" <<'INIT' | |
| allprojects { | |
| pluginManager.apply('maven-publish') | |
| tasks.withType(Sign).configureEach { enabled = false } | |
| } | |
| INIT | |
| # conformance-tests (the assertions/samples ZIP) comes from the main JSpecify repo. | |
| - name: Check out JSpecify | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: jspecify/jspecify | |
| path: jspecify | |
| - name: Build and install conformance-tests | |
| working-directory: jspecify | |
| run: ./gradlew --init-script "$RUNNER_TEMP/publish-helper.gradle" :conformance-tests:publishToMavenLocal | |
| # conformance-test-framework (the test driver) comes from the JSpecify reference checker. | |
| - name: Check out JSpecify reference checker | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: jspecify/jspecify-reference-checker | |
| path: jspecify-reference-checker | |
| # The settings.gradle isolates the sub-project and avoids building the CF. | |
| - name: Build and install conformance-test-framework | |
| working-directory: jspecify-reference-checker | |
| run: | | |
| cat > conformance-test-framework/settings.gradle <<'SETTINGS' | |
| rootProject.name = 'conformance-test-framework' | |
| dependencyResolutionManagement { | |
| versionCatalogs { | |
| libs { | |
| library('guava', 'com.google.guava:guava:33.6.0-jre') | |
| library('jspecify', 'org.jspecify:jspecify:1.0.0') | |
| library('truth', 'com.google.truth:truth:1.4.5') | |
| library('junit', 'junit:junit:4.13.2') | |
| } | |
| } | |
| } | |
| SETTINGS | |
| ./gradlew --project-dir conformance-test-framework \ | |
| --init-script "$RUNNER_TEMP/publish-helper.gradle" publishToMavenLocal | |
| - name: Build and Test | |
| run: gradle build test |