diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 5c1503db..a5260a4e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -26,8 +26,8 @@ The library is structured around three core concepts: ## Build Instructions ### Prerequisites -- Java 17+ (CI builds with Temurin; `docs.yml` uses Java 25, `release.yml` uses Java 17 — either works locally, but match `maven.compiler.release=17` for compatibility) -- Maven +- Java 17+ to compile/run the library; Java 25 for generating and checking shared catalogs (CI documentation, validation, and release jobs use Temurin 25; `maven.compiler.release=17` preserves runtime compatibility) +- Maven (release publication uses pinned Maven 3.9.16 to keep local metadata out of Central bundles) - Node.js + npm (for the documentation site only) ### Maven Build Commands diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3bb7614..ad959485 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,9 @@ jobs: uses: actions/setup-java@v5 with: distribution: temurin - java-version: 17 + # Match the Javadoc toolchain used by validation and shared catalogs. + # maven.compiler.release still targets Java 17 for the library. + java-version: 25 cache: maven server-id: central server-username: MAVEN_USERNAME @@ -90,11 +92,6 @@ jobs: - name: Require current catalogs and assemble offline examples run: | - # The release job uses the Java 17 toolchain for Maven Central - # signing. Javadoc can normalize generated reference metadata on a - # different JDK, so refresh derived compatibility files before the - # read-only gate instead of publishing stale JSON. - python3 scripts/browser-compatibility.py python3 scripts/browser-compatibility.py --check python3 scripts/release-catalogs.py --check python3 scripts/release-catalogs.py --archive dist/scratch-catalogs.zip