Harden Pirate wallet loading, JNI serialization, and lifecycle #532
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: PR testing | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| mavenTesting: | |
| runs-on: ubuntu-latest | |
| # The full suite is ~2,750 tests and takes roughly 10-15 minutes; this is a runaway guard, | |
| # not a target. Raise it rather than narrowing the suite if it is ever legitimately hit. | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Cache local Maven repository | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml', 'lib/**/*.pom', 'lib/**/*.jar') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Set up the Java JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Load custom deps | |
| run: | | |
| mvn -B -U install -DskipTests=true --file pom.xml | |
| - name: Build package | |
| run: | | |
| mvn -B clean package --file pom.xml | |
| # Runs the whole JUnit suite. This deliberately replaces the previous | |
| # `-Dtest=CorsFilterTests,TranslationsTests` filter: that filter meant CI green proved only | |
| # that the package built and two classes passed, so consensus, repository-schema and | |
| # serialization regressions could - and did - reach main unnoticed. | |
| # | |
| # GUI display tests stay excluded here (they need a display and have their own workflow); | |
| # surefire runs headless via the pom's test.awt.headless property. | |
| - name: Run full test suite | |
| run: | | |
| mvn -B test -DskipJUnitTests=false --file pom.xml | |
| - name: Upload surefire reports on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: surefire-reports | |
| path: target/surefire-reports/ | |
| retention-days: 7 |