Repository navigation
Document how a rule checks a host-owned, mutable list #52
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: build | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # The build targets a JDK 25 toolchain (spec section 5). Gradle itself runs on this JDK and | |
| # resolves the toolchain from it. | |
| - uses: actions/setup-java@v6 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| - uses: gradle/actions/setup-gradle@v6 | |
| # `build` runs both `test` and `strictTest`: section 7.5 asks for the full suite to run under | |
| # strict mode in CI, and the strict-mode checks are exactly the ones that catch a contract | |
| # violation the compiler cannot. Javadoc warnings fail the build too -- several of the | |
| # engine's contracts are stated only there. | |
| - name: Build, test, and check contracts under strict mode | |
| run: ./gradlew build javadoc --no-daemon | |
| - name: Publish test results | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-results | |
| path: '**/build/reports/tests/' | |
| if-no-files-found: ignore |