mirror of
https://github.com/actions/setup-java.git
synced 2026-08-25 16:00:54 +00:00
0b0c385478
196 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0b0c385478
|
Include gradle.properties in Gradle cache key (#1225)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
143564d5b9
|
Fix JetBrains GitHub token resolution (#1224)
Some checks failed
Validate Java e2e / Reject unsupported Oracle x86 on Linux (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .sdkmanrc, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
5580b78434
|
Fix SapMachine early-access filtering (#1217)
Some checks failed
Validate Java e2e / Reject unsupported Oracle x86 on Linux (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
* Fix SapMachine early-access filtering Ensure SapMachine EA requests exclude stable releases and cover string and boolean release metadata with competing fixture candidates.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update distribution bundle Regenerate the setup bundle for SapMachine release-class filtering.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Format SapMachine regression tests Apply the repository Prettier format to the focused test additions.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
4fbd0bd19d
|
fix: select musl JDK artifacts on Alpine for five distributions (#1220)
On Alpine, `getPlatformOption()` returned the glibc platform key for Dragonwell, Corretto, Zulu, Liberica and Liberica NIK, so the action resolved and installed a glibc JDK that cannot run under musl. Add a shared `isAlpineLinux()` helper and use it to select each vendor's musl artifacts: | distribution | glibc | musl | | ------------ | ------------- | -------------- | | Dragonwell | `linux` | `alpine-linux` | | Corretto | `linux` | `alpine` | | Zulu | `linux_glibc` | `linux_musl` | | Liberica | `linux` | `linux-musl` | | Liberica NIK | `linux` | `linux-musl` | Each key was verified against the vendor's live metadata API or manifest. There is deliberately no silent fallback to glibc when a vendor has no musl build for the requested version or architecture: the existing "could not find a version that satisfies" error fires instead. This matches the behaviour Temurin and SapMachine already have, and a glibc JDK would not run on musl anyway. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74248bb0-72af-41d8-b85d-b0f5836e68db |
||
|
|
d0e61fe743
|
Fix JDK resolution cache platform identity (#1210)
* Fix JDK resolution cache platform identity Include the effective Linux libc platform in JDK resolution cache keys so Alpine/musl and glibc runners cannot restore each other's release metadata. Bump the cache namespace and share Alpine detection with affected distributors.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 4f95577c-567c-47a8-92f2-b4dced527866 * Update generated action bundles Regenerate setup and cleanup distributions for the platform-aware JDK resolution cache.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 4f95577c-567c-47a8-92f2-b4dced527866 * Cover the platform-identity fallback and Alpine short-circuit getJavaPlatformIdentity's `?? platform` fallback and the alias path for platforms other than linux/darwin/win32 had no coverage, and isAlpineLinux had no direct test at all. Verified by mutation: replacing the fallback with a constant, and dropping the `platform === 'linux'` short-circuit from isAlpineLinux, both left the existing suite fully green. The added cases fail on each. The short-circuit case matters beyond coverage bookkeeping: it is what keeps the /etc/alpine-release probe from running on non-Linux runners, so a stray file can never make Windows or macOS resolve as musl. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74248bb0-72af-41d8-b85d-b0f5836e68db * Carry the platform identity into the floating resolution request Merging main brought in #1219, which added getFloatingResolutionRequest as a second construction site for JdkResolutionRequest. It predates the required `platform` field, so the merged tree did not compile. The floating request already carries `source`, which pins the artifact bytes, so this changes no lookup behaviour on its own -- it keeps the two request builders consistent and the tree building. Also refreshes dist/, which the textual merge left stale. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74248bb0-72af-41d8-b85d-b0f5836e68db --------- Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74248bb0-72af-41d8-b85d-b0f5836e68db |
||
|
|
fb58a661f3
|
Fix JetBrains Runtime release pagination (#1218)
* Fix JetBrains release pagination Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update setup distribution Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
2b61aea53d
|
Reuse the tool cache for floating versions the resolution cache identified (#1219)
A floating Oracle JDK or Oracle GraalVM request now skips the tool-cache short-circuit entirely, so every job re-downloads and re-extracts the JDK even when the exact bytes the mutable URL currently serves are already installed locally. The JDK resolution cache is keyed on the artifact's checksum (or, failing that, its HTTP response fingerprint), so a hit proves which concrete version the URL is serving right now. Once it has vouched for that version, an existing tool-cache installation of exactly that version is the artifact the download would have produced, and can be reused. Reuse is therefore gated on the resolution cache hit, never on the requested major: an unidentified floating artifact still downloads, as does an explicit force-download. Co-authored-by: Bruno Borges <brunoborges@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f2d9a891-a680-4b35-9644-cf2450f76f6d |
||
|
|
634b0f0d18
|
Import Maven signing keys into an isolated GPG home (#1214)
* Isolate Maven signing keys Import signing keys into an action-owned temporary GPG home, export GNUPGHOME, and remove the owned directory in the post action. Cover import failure, multiple keys and invocations, unrelated keyrings, missing state, and Windows path conversion. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Fix cleanup state assertion Account for isolated GPG-home cleanup when cache saving is disabled. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update generated action bundles Apply repository formatting and commit the setup and cleanup bundles produced by the validated Node 24 build. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Address isolated GPG home review feedback Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
f4bfb3ddea
|
Report concrete versions for floating Oracle JDK downloads (#1213)
* Fix floating Oracle JDK version resolution Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update generated distribution bundles Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Harden floating artifact cache identity Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Regenerate setup bundle after cache hardening Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Temporarily enable hosted full validation Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Export hosted formatting results Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Apply repository formatting Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Run hosted validation after formatting Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Correct floating version regression tests Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Remove temporary validation wiring Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Cache checksum-less floating artifacts by their response fingerprint Oracle and Oracle GraalVM do not always publish a `.sha256` sibling next to a `/latest/` artifact. Those floating releases were excluded from both the resolution cache and the JDK cache, so `cache-jdk` users lost caching entirely for them. A floating URL is a constant string, so it cannot serve as a cache identity on its own — a stale entry would be reused forever. Instead, derive a validator from the headers of the HEAD request that already resolves the artifact: the ETag when present, otherwise `Last-Modified` combined with `Content-Length`. Republishing changes the validator, which changes the cache key, so a new build is downloaded rather than masked. `getJdkReleaseIdentity` now falls back to that fingerprint before the URL, and the floating cache gates ask whether the release has a stable identity (checksum or fingerprint) rather than a checksum specifically. A floating release with neither is still left uncached. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
ab597f914a
|
Cache resolved JDK releases to remove the vendor API from warm jobs (#1208)
Some checks failed
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (microsoft, jdk, macos-latest, 25) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (microsoft, jdk, windows-latest, 25) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, macos-latest, 11) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, macos-latest, 25) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, windows-latest, 17) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, windows-latest, 25) (push) Waiting to run
Basic validation / Basic validation (push) Failing after 0s
Check dist/ / Check dist/ (push) Failing after 1s
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Validate cache / gradle-save (ubuntu-latest) (push) Failing after 5s
Validate cache / maven-save (ubuntu-latest) (push) Failing after 5s
Validate cache / sbt-save (ubuntu-22.04) (push) Failing after 6s
Validate cache / gradle1-save (ubuntu-latest) (push) Failing after 8s
Validate cache / maven1-save (ubuntu-latest) (push) Failing after 7s
Validate cache / sbt1-save (ubuntu-22.04) (push) Failing after 7s
Validate cache / custom-maven-path-save (push) Failing after 8s
Validate cache / custom-maven-path-restore (push) Has been skipped
Validate local file / Validate installation from local file Zulu (ubuntu-latest) (push) Failing after 7s
Validate local file / Validate installation from local file Eclipse Temurin (ubuntu-latest) (push) Failing after 10s
Validate publishing functionality / Validate settings.xml (ubuntu-latest) (push) Failing after 11s
Validate publishing functionality / settings.xml is overwritten if flag is true (ubuntu-latest) (push) Failing after 8s
Validate publishing functionality / settings.xml is not overwritten if flag is false (ubuntu-latest) (push) Failing after 10s
Validate publishing functionality / settings.xml in custom location (ubuntu-latest) (push) Failing after 11s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (liberica, jdk+fx, ubuntu-latest, 21) (push) Failing after 16s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (microsoft, jdk, ubuntu-latest, 25) (push) Failing after 8s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, ubuntu-latest, 21) (push) Failing after 9s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, ubuntu-latest, 25) (push) Failing after 6s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (zulu, jre, ubuntu-latest, 17) (push) Failing after 5s
Licensed / Licensed (push) Failing after 0s
Security analysis with zizmor / Analyze workflows with zizmor (push) Failing after 5s
* Cache resolved JDK releases to remove the vendor API from warm jobs Only Temurin is preinstalled in the runner tool cache, so for every other distribution `findInToolcache()` misses on essentially every job. That forces a call to the distribution's metadata API before the JDK cache key can even be computed, which makes the vendor a hard per-job dependency even when the JDK bytes are already cached, and turns a vendor 403, 429, or outage into a job failure. Store the resolved release in a small companion cache entry keyed only on inputs known before any network call: runner OS, architecture, distribution, package type, requested version, and stability. A job that finds a current entry installs the JDK without contacting the metadata API at all. `@actions/cache` derives a cache version by hashing the requested paths, so save and restore paths must match. The entry therefore uses a path that excludes the date bucket while the key includes it, which lets restore keys fall back to an older bucket. An entry older than the current day is not used directly: the metadata API is still queried so floating requests such as `java-version: 21` keep picking up new releases, and the older entry is used only when that query fails. Because the entry also carries the download URL and checksum, that fallback works even when the JDK itself is not cached. Releases whose URL is not content-addressed are never stored. Oracle JDK and Oracle GraalVM build a `/latest/` URL for a major-only version, and its bytes change when a new build is published, so the URL and checksum are only consistent at the moment they are resolved. Mark those releases floating and skip recording them. Restored payloads are validated as untrusted input, and the post-job save rewrites the payload the key was computed for rather than uploading whatever is on disk, since a restore in a later step targets the same path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 * Widen the resolution freshness window from a day to a week A daily window gives no benefit to the repositories that need it most. A repository whose workflows run once a day would re-resolve on every job, and one running weekly would never see a current entry at all, yet those are exactly the repositories with nothing warm in the tool cache. Seven days is also the ceiling. GitHub removes cache entries that have not been accessed for seven days, so a longer window would leave the previous entry evicted by the time the window rolls over, removing the stale fallback at the moment it is most likely to be needed. It comfortably covers JDK release cadence, which is monthly at its fastest and usually quarterly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Rebuild dist to match the linted source The pre-commit hook runs `eslint --fix` after `npm run check` has already built `dist/`, so the fix it applied to the resolution fallback warning in `base-installer.ts` never reached the bundle. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 * Rebuild dist to match the linted source The autofix accepted on the pull request edited the resolution fallback warning in `base-installer.ts` through the GitHub UI, which does not run `npm run build`, so `dist/` still carried the pre-fix bundle. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 |
||
|
|
885218c5e4
|
Move the extracted JDK into the tool-cache and speed up extraction (#1206)
Two wall-clock optimizations on the JDK install path. `tc.cacheDir` recursively copies the extracted tree into RUNNER_TOOL_CACHE, so a 200-600MB JDK is written to disk twice. The extraction directory and the tool-cache normally share a filesystem, so `cacheJdkDir` renames it instead and writes the `.complete` marker itself, mirroring the destination layout `tc.cacheDir` produces. It falls back to the copy when the tool-cache location is unknown, when the source is not a real directory (a symlinked source would otherwise leave a dangling entry once RUNNER_TEMP is cleaned), or when the rename fails - a cross-device tool-cache, or anti-virus holding a handle on Windows. The rename is atomic, so the source is still intact for the fallback. Extraction now uses `pigz` for tarballs when the runner provides it, and Windows zips go through the bundled `tar.exe` rather than `tc.extractZip`, which shells out to PowerShell's much slower `Expand-Archive`. Both fall back to the stock extraction and clean up the abandoned directory first. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b76d8cb0-f629-46e1-bf9a-ffde06948644 |
||
|
|
955f34f16f
|
Add conditional JDK caching (#1201)
* Add JDK caching Cache resolved JDK tool-cache entries by exact platform and release identity, with a default-on cache-jdk input and explicit opt-out. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Apply batched suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix JDK cache CI validation Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update brace-expansion security fix Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Refresh brace-expansion license metadata Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Refine JDK cache semantics Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Refine JDK cache documentation Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Simplify JDK cache identity Use one normalized runner OS dimension, reset the internal cache key schema for the unreleased feature, and align documentation, tests, and bundles. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Align JDK cache OS identity Use the established RUNNER_OS value directly and retain process.platform only as a non-Actions fallback. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Harden JDK cache saves and document tool-cache reuse Bind each JDK cache key to the installation identity it was computed for, keep post-job saves best-effort per entry, and state the real reuse and verification guarantee in the documentation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * docs: restructure README caching section Rename '## Caching dependencies' to '## Caching' and add a what-gets-cached overview table covering the dependency, wrapper, and JDK caches. Lead with the common 'cache: maven' example and the dependency-cache material, and demote JDK caching into its own subsection. Also corrects the IMPORTANT callout, which implied JDK caching required an explicit opt-in; it is enabled implicitly whenever 'cache' is set. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * docs: fix caching documentation defects - Remove pull-request framing that compared behavior to `main`; state the tool-cache and `jdkfile` behavior directly and unconditionally. - Clarify that the JDK cache is a separate cache *entry* from the dependency and wrapper caches, while its *enablement* is coupled to `cache`, so the opening paragraph agrees with the enablement matrix. - Cite the actions/setup-java-benchmarks repository instead of an open PR and a self-referential PR comment, keeping the measured figures and caveats. - Keep the `cache`/`cache-jdk` matrix only in docs/advanced-usage.md and summarize the rules in prose in README.md to avoid divergence. - Describe the guarantee that a cache key is only saved with the installation it was computed for, instead of documenting inode/size/timestamp internals. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * docs: add V6 what's new entry for JDK caching Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e2755464-4e83-47b6-ba71-731bb481b418 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Copilot-Session: e2755464-4e83-47b6-ba71-731bb481b418 |
||
|
|
7a9a8b1dcc
|
chore(deps): bump brace-expansion from 5.0.8 to 5.0.9 (#1202)
* chore(deps): bump brace-expansion from 5.0.8 to 5.0.9 Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.8 to 5.0.9. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.8...v5.0.9) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 5.0.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * chore: rebuild distribution Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * chore: refresh dependency metadata Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
536de9e5ba
|
Remove legacy Adopt distributions in v6 (#1185)
Some checks failed
Validate Java e2e / Reject unsupported Oracle x86 on Linux (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
* Initial plan * Remove legacy Adopt distributions Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
5827477733
|
Optimize Maven configuration warm path (#1182)
* Optimize Maven configuration warm path Avoid eager Maven XML initialization on warm JDK runs by using deterministic serializers for new Maven settings/toolchains files, lazy-loading xmlbuilder2 for existing toolchains merges, and deferring Maven configuration modules until after Java setup. Add targeted tests for XML escaping, lazy xmlbuilder2 loading, concurrent Maven configuration, and a manual benchmark workflow for warm-path validation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b * Address Maven optimization PR feedback Make the toolchain XML generator consistently async, remove redundant Maven configuration await handling, and reuse the existing XML test helper. Configure CodeQL to skip generated dist output so newly split vendored chunks do not report duplicate generated-code alerts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b * Apply rubber duck review suggestions Document XML attribute escaping, simplify Maven configuration awaiting, and add a regression test that feeds fast-path toolchains output into the merge path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b * Delete .github/codeql/codeql-config.yml * Update codeql-analysis.yml * Replace xmlbuilder2 in Maven toolchain merge Use fast-xml-parser for existing toolchains.xml parsing and serialize merged Maven toolchains deterministically. This removes the bundled xmlbuilder2 DOM/XML builder chunk from dist while preserving merge behavior for custom attributes, custom toolchains, partial entries, duplicate filtering, and escaping. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b * Move Maven benchmark out of setup-java Remove the Maven warm-path benchmark workflow and helper script from setup-java. Benchmark coverage is being moved to actions/setup-java-benchmarks so this action repository only carries the runtime optimization, tests, and generated distribution artifacts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b --------- Copilot-Session: 4dc58426-5e20-44cb-af16-8da0965fac3b |
||
|
|
3cc3643700
|
Optimize Temurin tool-cache fast path with lazy loading (#1179)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 15s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 10s
* Optimize Temurin tool-cache fast path - Lazy-load distribution installers so only the selected distro module is initialized - Defer cache feature/cache module loading until cache input is provided - Start cache restore early and await it safely alongside Java setup flow - Update orchestration and lazy-loading tests; regenerate dist artifacts Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cc2c0256-c55e-4a35-a584-5bed7e8b11ad * Address PR review comments - Lazy-load cache save in cleanup path so no-cache runs avoid cache module init in post action - Stage dist/setup/package.json in release script for chunked setup bundle completeness Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cc2c0256-c55e-4a35-a584-5bed7e8b11ad * Fix CodeQL comment tag filter finding Patch is-unsafe's XML comment-close detector during builds so generated bundles recognize both HTML comment end forms and satisfy CodeQL until the dependency publishes a fix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 277302b1-aa95-4012-817b-9752cdaee14e * Rebuild generated dist bundles Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cc2c0256-c55e-4a35-a584-5bed7e8b11ad --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cc2c0256-c55e-4a35-a584-5bed7e8b11ad Copilot-Session: 277302b1-aa95-4012-817b-9752cdaee14e |
||
|
|
6937f5eb31
|
Centralize OS/architecture capability validation (#1178)
* Centralize platform capability validation Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10e35b75-928f-4ef7-984e-605895c5d88e * Address PR review feedback Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10e35b75-928f-4ef7-984e-605895c5d88e * Regenerate dist after platform validation updates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10e35b75-928f-4ef7-984e-605895c5d88e |
||
|
|
0b56831a10
|
Add dependency cache path overrides (#1175)
* Add dependency cache path overrides Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: dd650d36-9c97-4ca4-9ec8-39b37f99a07c * Clarify supported dependency cache managers Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: dd650d36-9c97-4ca4-9ec8-39b37f99a07c * Fix custom cache path CI checks Align the custom cache save and restore key inputs and use the workflow hash to avoid a previously populated cache entry. Rebuild the distribution bundles. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: dd650d36-9c97-4ca4-9ec8-39b37f99a07c --------- Copilot-Session: dd650d36-9c97-4ca4-9ec8-39b37f99a07c |
||
|
|
9f43141311
|
Restore dependency and wrapper caches concurrently (#1174)
* Restore dependency and wrapper caches concurrently Run primary dependency and wrapper cache restores in parallel while preserving existing outputs and save semantics. Add unit and E2E coverage for concurrent restore behavior, wrapper cache validation, and additional-cache error handling. Include a manual benchmark workflow for baseline-vs-candidate restore timing comparisons across OSes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d43ec3dd-96c7-4eb3-909e-b8123cd12d3c * Address PR review comments Use env variables for cache-hit values in benchmark record steps to avoid expression expansion in run commands, and rename E2E restore step labels for clarity. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d43ec3dd-96c7-4eb3-909e-b8123cd12d3c * Stabilize wrapper cache restore checks Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d43ec3dd-96c7-4eb3-909e-b8123cd12d3c |
||
|
|
62f345fa33
|
Add read-only dependency cache mode (#1169)
Some checks failed
Validate local file / Validate installation from local file Eclipse Temurin (macos-latest) (push) Waiting to run
Validate local file / Validate installation from local file Eclipse Temurin (windows-latest) (push) Waiting to run
Validate publishing functionality / Validate settings.xml (macos-latest) (push) Waiting to run
Validate publishing functionality / Validate settings.xml (windows-latest) (push) Waiting to run
Validate publishing functionality / settings.xml is overwritten if flag is true (macos-latest) (push) Waiting to run
Validate publishing functionality / settings.xml is overwritten if flag is true (windows-latest) (push) Waiting to run
Validate publishing functionality / settings.xml is not overwritten if flag is false (macos-latest) (push) Waiting to run
Validate publishing functionality / settings.xml is not overwritten if flag is false (windows-latest) (push) Waiting to run
Validate publishing functionality / settings.xml in custom location (macos-latest) (push) Waiting to run
Validate publishing functionality / settings.xml in custom location (windows-latest) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, macos-latest, 11) (push) Waiting to run
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, windows-latest, 17) (push) Waiting to run
Validate cache / gradle-save (ubuntu-latest) (push) Failing after 9s
Validate cache / maven-save (ubuntu-latest) (push) Failing after 6s
Validate cache / sbt-save (ubuntu-22.04) (push) Failing after 6s
Validate cache / gradle1-save (ubuntu-latest) (push) Failing after 7s
Validate cache / maven1-save (ubuntu-latest) (push) Failing after 6s
Validate cache / sbt1-save (ubuntu-22.04) (push) Failing after 7s
Validate local file / Validate installation from local file Adopt (ubuntu-latest) (push) Failing after 6s
Validate local file / Validate installation from local file Zulu (ubuntu-latest) (push) Failing after 7s
Validate local file / Validate installation from local file Eclipse Temurin (ubuntu-latest) (push) Failing after 8s
Validate publishing functionality / Validate settings.xml (ubuntu-latest) (push) Failing after 10s
Validate publishing functionality / settings.xml is overwritten if flag is true (ubuntu-latest) (push) Failing after 10s
Validate publishing functionality / settings.xml is not overwritten if flag is false (ubuntu-latest) (push) Failing after 57s
Validate publishing functionality / settings.xml in custom location (ubuntu-latest) (push) Failing after 34s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (liberica, jdk+fx, ubuntu-latest, 21) (push) Failing after 35s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (temurin, jdk, ubuntu-latest, 21) (push) Failing after 36s
Validate Java e2e smoke / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}) - ${{ matrix.os }} (zulu, jre, ubuntu-latest, 17) (push) Failing after 39s
Licensed / Licensed (push) Failing after 0s
Security analysis with zizmor / Analyze workflows with zizmor (push) Failing after 39s
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b3f6f152-8ac4-4c29-b04a-acac8e100777 |
||
|
|
27f2c62824
|
Verify JDK downloads with vendor checksums (#1167)
* Verify JDK downloads with vendor checksums Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Handle missing vendor checksum values Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Preserve checksum error during cleanup failure Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Validate checksum metadata value types Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Clarify checksum documentation Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Expand vendor checksum verification Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Accept SHA-256 or SHA-512 for JetBrains checksum sibling JetBrains publishes a single, generically-named ".checksum" sibling whose digest algorithm isn't disclosed by the filename. Older JBR 11 builds (e.g. jbrsdk_nomod-11_0_16-*-b2043.64.tar.gz) publish a SHA-256 digest there, while newer builds publish SHA-512. The JetBrains installer previously assumed SHA-512 unconditionally, so verification failed with "Malformed sha512 checksum metadata ... expected a 128-character hexadecimal digest" for those older builds, breaking the jetbrains 11 e2e job on macOS and Windows. fetchChecksum now accepts a list of candidate algorithms and infers the actual algorithm from the returned digest's length, preferring the strongest match. The JetBrains installer passes ['sha512', 'sha256']; all other callers are unaffected since they already pass a single, vendor-disclosed algorithm. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d * Use SapMachine archive checksum files Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d |
||
|
|
19c23b379e
|
Harden java-package validation (#1165)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jdk+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre+fx, ubuntu-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica-nik, jdk+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jdk+fx, ubuntu-latest, 21.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10b8fe1e-18f4-42cb-8672-11215715a713 |
||
|
|
6e26972896
|
Add setup orchestration tests (#1163)
Make the setup entrypoint import-safe and cover its validation, installation sequencing, post-install collaborators, caching, and failure handling directly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a5ba8975-a9ac-4d2c-b41d-97c99689d1bd |
||
|
|
5894ef6b27
|
Consolidate JDK metadata retry handling (#1162)
* Consolidate JDK metadata retries Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a5e2549a-0d89-4c8f-b7f3-411ad21c8a06 * Expand distribution retry coverage Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a5e2549a-0d89-4c8f-b7f3-411ad21c8a06 --------- Copilot-Session: a5e2549a-0d89-4c8f-b7f3-411ad21c8a06 |
||
|
|
e1ce3a3428
|
Fail on mismatched Maven toolchain ID counts (#1161)
* Fail on mismatched Maven toolchain IDs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c821981-7b21-45fe-9463-5bb375d7dce4 * Clarify Maven toolchain ID version counts Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c821981-7b21-45fe-9463-5bb375d7dce4 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c821981-7b21-45fe-9463-5bb375d7dce4 |
||
|
|
ce75feb3d3
|
Reject invalid boolean input values (#1160)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6daa6b5-31f5-46b2-a994-b8320b50a50d |
||
|
|
382d4b753d
|
Fix caching when wrapper distributions are absent (#1151)
* Fix missing wrapper cache distributions Skip optional Maven and Gradle wrapper cache saves when their distribution paths do not exist, while allowing the main dependency cache to save. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a43181c5-548d-4293-be58-b76c03cece79 * Use resolved paths for wrapper cache saves Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a43181c5-548d-4293-be58-b76c03cece79 * Rebuild action distributions Regenerate the setup and cleanup bundles after updating additional cache saves to use resolved paths. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a43181c5-548d-4293-be58-b76c03cece79 --------- Copilot-Session: a43181c5-548d-4293-be58-b76c03cece79 |
||
|
|
1c3b3d28f0
|
Support Temurin JDKs with JMOD files (#1149)
* Initial plan * Add Temurin JMOD installation support * Rebuild action bundles * Use java-package for Temurin JMODs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: e7d8c581-2d14-4ccc-aeca-afc0f3b0c2bc * Fix Temurin JMOD test paths on Windows Use platform-aware path construction for the JMOD copy and cache assertions so the Windows test expects backslash-normalized paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: e7d8c581-2d14-4ccc-aeca-afc0f3b0c2bc |
||
|
|
0b0bd25927
|
Add OpenJDK distribution (#1147)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
* Initial plan * Add OpenJDK distribution * Support archived OpenJDK release formats * Handle legacy OpenJDK URL layout * Resolve legacy OpenJDK build metadata * Rename OpenJDK distribution to oracle-openjdk Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2c93ae0c-bbf5-40f5-bf6e-40168d0e267f * Make OpenJDK tests platform independent Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2c93ae0c-bbf5-40f5-bf6e-40168d0e267f * Document Oracle OpenJDK early access builds Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2c93ae0c-bbf5-40f5-bf6e-40168d0e267f * Clarify Oracle OpenJDK security note Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2c93ae0c-bbf5-40f5-bf6e-40168d0e267f --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> Copilot-Session: 2c93ae0c-bbf5-40f5-bf6e-40168d0e267f |
||
|
|
089b010dc8
|
Add force-download option for reproducible JDK builds (#1148)
* Initial plan * Add force-download input * Build force-download action bundles --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
e07d36bbdd
|
Set GRAALVM_HOME for GraalVM distributions (#1146)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 1m0s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 1m36s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 31s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 38s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 33s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 33s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 21s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
* Initial plan * Set GRAALVM_HOME for GraalVM distributions * Rebuild setup action bundle --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> |
||
|
|
69304e5bab
|
Remediate npm audit findings and rebuild distributions (#1145)
* Pin patched brace-expansion release * Rebuild action bundles * Refresh licensed npm cache records * Restore compatible brace expansion versions * Restore transitive dependency license records * Fix brace-expansion GHSA-mh99-v99m-4gvg vulnerability via npm overrides * Update licensed dependency records to fix CI license check --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> |
||
|
|
c59dceb0cd
|
chore(deps): fix npm audited vulnerabilities (#1140) | ||
|
|
c3d7ccbf81
|
Clarify credential environment variable inputs (#1134)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jdk+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre+fx, ubuntu-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica-nik, jdk+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jdk+fx, ubuntu-latest, 21.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
Validate Java e2e / set-default option - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
* Clarify credential environment variable inputs Rename credential-related inputs to make their environment-variable semantics explicit while preserving deprecated aliases with migration warnings. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 70a3daa8-dbc9-4eb0-a57b-df198a459315 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
e40a8e0642
|
Add an option to disable Java problem matchers (#1133)
* Add problem matcher opt-out Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 38eb7886-7ea3-4e4d-8d5f-e3f975135053 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
6e2e32e729
|
chore(deps): bump @actions/cache to 6.2.0 (#1128)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 17m0s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
* chore(deps): bump @actions/cache to 6.2.0 Bump @actions/cache from ^6.1.0 to ^6.2.0 and rebuild the vendored dist/ bundles. 6.2.0 honors ACTIONS_CACHE_MODE to skip restore/save when the effective cache-mode disallows it, and surfaces a core.warning (instead of failing the run) when the cache service denies a read/write due to token scopes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0046a2b8-0238-4ac6-93f6-70c4e60b5630 * chore: update licensed record for @actions/cache 6.2.0 Refresh the cached licensed dependency record so the version matches the bumped @actions/cache 6.2.0. License text, summary, and homepage are unchanged; only the version field was stale, which failed the "Check licenses" CI job. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0046a2b8-0238-4ac6-93f6-70c4e60b5630 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
7d485884af
|
Use gpg.passphraseEnvName instead of the deprecated gpg.passphrase server (#1123)
* Use gpg.passphraseEnvName instead of gpg.passphrase server The maven-gpg-plugin's `gpg.passphrase`/`passphraseServerId` mechanism is deprecated and fails when the plugin's `bestPractices` mode is enabled. Stop writing the `gpg.passphrase` server to settings.xml and instead set `gpg.passphraseEnvName` via an active profile when the configured passphrase env var name differs from the plugin default (MAVEN_GPG_PASSPHRASE). The default `gpg-passphrase` input value (GPG_PASSPHRASE) is unchanged, so the plugin reads the same environment variable as before. Fixes #760 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Fix settings.xml publishing validation Update the publishing e2e check to assert the settings.xml generated when gpg-passphrase is MAVEN_GPG_PASSPHRASE. In that default case the action no longer writes a gpg.passphrase server entry. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7d0a510e-aebf-4ec4-a667-efeb3e4edeb1 * Default gpg-passphrase to MAVEN_GPG_PASSPHRASE Align the default `gpg-passphrase` input value with the maven-gpg-plugin default environment variable name (MAVEN_GPG_PASSPHRASE). With this default, setup-java writes no extra GPG configuration to settings.xml and the plugin reads the passphrase from MAVEN_GPG_PASSPHRASE out of the box. Also document that reading the passphrase from an environment variable via `gpg.passphraseEnvName` requires maven-gpg-plugin 3.2.0 or newer. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7d0a510e-aebf-4ec4-a667-efeb3e4edeb1 * Document gpg-passphrase breaking change in V6 Add a "Breaking changes in V6" section to the README covering the switch to gpg.passphraseEnvName, the new MAVEN_GPG_PASSPHRASE default, and the maven-gpg-plugin 3.2.0+ requirement. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7d0a510e-aebf-4ec4-a667-efeb3e4edeb1 * Keep GPG_PASSPHRASE default for v5 compatibility Revert the gpg-passphrase input default back to GPG_PASSPHRASE so existing v5 workflows that set the GPG_PASSPHRASE environment variable keep working without changes. setup-java writes gpg.passphraseEnvName=GPG_PASSPHRASE into an active profile, so the maven-gpg-plugin reads the same variable as before. The only remaining compatibility requirement is maven-gpg-plugin 3.2.0+, which is documented in the README and advanced usage guide. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7d0a510e-aebf-4ec4-a667-efeb3e4edeb1 * Clarify GPG passphrase profile compatibility Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7d0a510e-aebf-4ec4-a667-efeb3e4edeb1 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
81c13a41f9
|
Cache Maven and Gradle wrapper distributions separately from the dependency cache (#1097)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 56s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 13m4s
Validate cache with cache-dependency-path option / gradle1-save (macos-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle1-save (windows-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle1-restore (ubuntu-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle1-restore (macos-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle1-restore (windows-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle2-restore (macos-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle2-restore (ubuntu-latest) (push) Has been cancelled
Validate cache with cache-dependency-path option / gradle2-restore (windows-latest) (push) Has been cancelled
* Cache Maven wrapper distribution separately from the local repository The Maven wrapper distribution (~/.m2/wrapper/dists) was cached in the same entry as the local Maven repository (~/.m2/repository), keyed on a hash of **/pom.xml (plus wrapper properties and extensions). Because pom.xml changes frequently and no restoreKeys are used (by design, #269), almost every change produces a full cache miss and the wrapper distribution is re-downloaded via mvnw — which intermittently fails due to upstream rate limiting. The wrapper distribution only depends on maven-wrapper.properties, which changes very rarely. Give it its own cache entry keyed solely on **/.mvn/wrapper/maven-wrapper.properties so it survives the frequent pom.xml changes that rotate the main dependency cache key. - Add a generic additionalCaches concept to PackageManager, restored and saved independently with name-scoped state keys. - Move ~/.m2/wrapper/dists out of the main maven path into a maven-wrapper additional cache; skip silently when the project does not use mvnw. - Keep cache-hit / cache-primary-key outputs driven by the main cache. - Update tests, docs, and rebuild dist bundles. Fixes #1095 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Cache Gradle wrapper distribution separately from the dependency cache (#1098) The Gradle wrapper distribution (~/.gradle/wrapper) only depends on gradle-wrapper.properties, which changes rarely, but it was previously cached in the same entry as ~/.gradle/caches, keyed on volatile **/*.gradle* files with no restoreKeys (issue #269). Every dependency change therefore re-downloaded the wrapper. Move ~/.gradle/wrapper into a dedicated `gradle-wrapper` additional cache keyed only on **/gradle-wrapper.properties, reusing the additionalCaches infrastructure introduced for the Maven wrapper fix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix broken try/catch in saveAdditionalCache and rebuild dist The autofix commits dropped the `} catch (error) {` line in saveAdditionalCache, leaving a `try` block without a catch and a dangling `error` reference, which broke compilation and Prettier. Restore the catch clause, reformat, and regenerate the dist bundles. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Address cache.ts review feedback - saveAdditionalCache: handle @actions/cache ValidationError (thrown when the cache paths do not resolve, e.g. the wrapper distribution was never downloaded) by skipping instead of failing the post step. Add a test. - Point the Gradle wrapper cache comment at issue #269 (Gradle wrapper cache churn) instead of the Maven-specific #1095. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Document Gradle Wrapper distribution caching in README Add a parallel "Gradle Wrapper" note alongside the Maven Wrapper note, so the new behavior for cache: 'gradle' (caching ~/.gradle/wrapper in a separate entry keyed on **/gradle-wrapper.properties) is documented. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
92f9362dd0
|
dist: Support Liberica NIK (#878) (#1112)
Add the `liberica-nik` distribution (Liberica Native Image Kit), a GraalVM-based build from BELL Software resolved via the Bell-SW `/v1/nik/releases` API. - `java-version` matches the embedded JDK version (from the release's `liberica` component), consistent with every other distribution. - `java-package: jdk` installs the `standard` bundle; `jdk+fx` installs the `full` bundle with JavaFX/Swing support. - Supported on Linux, macOS and Windows for x64 and aarch64. Signed-off-by: asm0dey <pavel.finkelshtein@gmail.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
71cfe8e0ed
|
Preserve Maven toolchains across repeated setup-java runs (#1099) (#1111)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 59s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 55s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 5s
* Preserve Maven toolchains across repeated setup-java runs (#1099) Toolchain generation was gated behind the `overwrite-settings` input, which is documented to control only regeneration of `settings.xml`. Because `generateToolchainDefinition` already performs a non-destructive merge (existing JDK, custom, and user-managed toolchains are preserved, and only an entry with the same `type` + `provides.id` is replaced), skipping the write when `overwrite-settings: false` caused later setup-java executions to drop toolchain entries registered by earlier runs. Decouple toolchains generation from `overwrite-settings`: the toolchains file is now always written, so consecutive runs accumulate every JDK. `settings.xml` behavior (auth.ts) is unchanged. - src/toolchains.ts: drop overwriteSettings from configureToolchains / createToolchainsSettings / writeToolchainsFileToDisk; always write. - __tests__/toolchains.test.ts: update call sites, rewrite the "does not overwrite" test to assert non-destructive extension, and add a regression test for consecutive configureToolchains executions. - docs/advanced-usage.md: clarify merge is non-destructive and independent of overwrite-settings. - dist/setup/index.js: rebuilt. Fixes #1099 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0bcec457-b86b-4902-b6e6-6dfd6b2570f7 * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
174d4b5609
|
Support pinning java-version as "latest" (#1093)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 17m4s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 37s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 34s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 35s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 23s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 36s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 39s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 41s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 39s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 13m6s
* Support pinning java-version as "latest" Add a `latest` alias for the `java-version` input that floats to the newest available stable (GA) release. It is normalized to the SemVer wildcard at the base-installer layer and always resolves from remote (like `check-latest: true`). List-based distributions resolve it automatically via the existing newest-first matching. Corretto selects its newest available major; Oracle and GraalVM look up the newest GA major via the Adoptium API and request it, failing with an actionable error if that major isn't published yet. The jdkfile distribution rejects `latest`. Closes #832 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Clarify latest note for oracle/graalvm version resolution vs download Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * graalvm-community: float latest to its own newest GA release GraalVM Community publishes its releases on GitHub, so the `latest` alias now matches against that real release list using the SemVer wildcard instead of asking the Adoptium API for the newest GA major. This prevents `latest` from hard-failing when GraalVM lags behind a freshly released Java major (e.g. Adoptium reports 26 before GraalVM ships it). Oracle GraalVM has no listing endpoint, so it keeps deriving the newest major from Adoptium and errors clearly if that major is not yet published. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Give latest+qualifier inputs (e.g. latest-ea) a targeted error Inputs like 'latest-ea' had their '-ea' suffix stripped and fell through to the generic SemVer validation, failing with a confusing "'latest' is not valid SemVer" message even though 'latest' is supported. Add an explicit guard so any 'latest*' value other than exactly 'latest' throws a targeted error explaining that 'latest' resolves GA releases only and cannot be combined with '-ea' or other qualifiers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
3157986b3f
|
Support multi-field Java versions like 18.0.1.1 (#1092)
Java's version scheme (JEP 322) can contain more than the three numeric fields SemVer allows, e.g. 18.0.1.1 or 11.0.9.1. normalizeVersion() rejected these inputs. Convert exact multi-field versions to SemVer build notation (18.0.1.1 -> 18.0.1+1) before validation, reusing the existing convertVersionToSemver() helper. Ranges, EA tags, and inputs that already carry build metadata are left untouched. Fixes: #326 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
f848fd1976
|
feat: expose cache-primary-key output (#597) (#1088)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 8s
Licensed / Licensed (push) Failing after 0s
Security analysis with zizmor / Analyze workflows with zizmor (push) Failing after 5s
* feat: expose cache-primary-key output (#597) Expose the primary cache key computed by the caching logic as a new `cache-primary-key` action output, so workflows can compose the built-in setup-java cache key with actions/cache or actions/cache/restore across steps and dependent jobs. - src/cache.ts: set the `cache-primary-key` output in restore() - action.yml: declare the new output - README.md: document the new output - __tests__/cache.test.ts: assert the output is set - dist: rebuild Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * chore: rebuild dist Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
4db08ef6bf
|
Infer distribution from asdf .tool-versions vendor prefix (#1084)
* Infer distribution from asdf .tool-versions vendor prefix asdf-java encodes the JDK vendor as a prefix on the version string in .tool-versions (e.g. `java temurin-17.0.3+7`). Capture that prefix and map it to a setup-java distribution, mirroring the existing .sdkmanrc behavior. Unknown prefixes warn and fall back to the distribution input. Fixes #1081 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
7dbccc66ee
|
Rename jdkFile input to jdk-file with deprecated alias (#1083)
* Rename jdkFile input to jdk-file with deprecated alias Add a standardized `jdk-file` input to match the lowercase-dash naming used by every other action input. The camelCase `jdkFile` input is kept as a deprecated alias: it still works, but emits a deprecation warning and may be removed in a future release. `jdk-file` takes precedence when both are provided. Updates docs and the local-file e2e workflow (one case intentionally keeps using the deprecated alias for coverage) and regenerates the dist bundles. Fixes #1077 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * docs: keep jdkFile in switching-to-v2 guide The switching-to-v2 migration guide uses actions/setup-java@v2, which only supports the camelCase jdkFile input. Keep the new jdk-file spelling in current-version docs only. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
8a3e8157a1
|
Map Zulu x86 architecture to i686 for Azul Metadata API (#1079)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 15s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 14s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 15s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 14s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 10s
Licensed / Licensed (push) Failing after 1s
Security analysis with zizmor / Analyze workflows with zizmor (push) Failing after 14s
The Azul Metadata API's `arch=x86` returns both 32-bit (i686) and 64-bit (x64) packages. Because the two variants share identical java_version and distro_version, setup-java cannot distinguish them and may resolve an explicit `architecture: x86` request to a 64-bit JDK (and for Java 21+, where 32-bit is dropped, x86 silently returns x64 instead of failing). The legacy Zulu Discovery API used `arch=x86&hw_bitness=32` to target only 32-bit builds. The Metadata API exposes the equivalent via `arch=i686`, which returns only genuine 32-bit builds with full version parity to the old behavior. Map x86 -> i686 to restore correct 32-bit resolution. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> |
||
|
|
f7121373a9
|
Migrate to ESM and upgrade dependencies (#1078)
* Migrate to ESM and upgrade dependencies * fix: update import statement for JSON module in kona-installer test --------- Co-authored-by: George Adams <georgeadams1995@gmail.com> |
||
|
|
2a07c83aea
|
feat: add .mvn/extensions.xml to Maven cache key pattern (#1041)
* Initial plan * feat: add .mvn/extensions.xml to Maven cache key pattern Closes #990 Maven build extensions declared in `.mvn/extensions.xml` can introduce additional plugin dependencies (e.g. lifecycle participants, custom packaging types). Including this file in the cache key hash ensures that changes to extensions — which affect what plugin JARs Maven downloads — properly invalidate the cache, preventing stale caches from missing newly-required plugin dependencies. Changes: - src/cache.ts: add `**/.mvn/extensions.xml` to Maven pattern array - __tests__/cache.test.ts: update pattern expectations; add new test - README.md: document the new file in the Maven cache key hash list * test: update maven cache error test name for extensions.xml --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com> |
||
|
|
d3530c1eb4
|
dist: Migrate from Zulu Discovery API to Azul Metadata API (#1010)
* Use Azul metadata API * Document arm64 -> aarch64 mapping in README.md * Paginate through all available versions * Fix typo: win_aarhc4 * Only query for linux_glibc packages * Add Zulu CRaC package support to metadata migration Fold CRaC-related work into the Zulu metadata API migration by wiring crac_supported query handling, extending Zulu package docs, and updating installer tests for jdk+crac/jre+crac behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Harden Zulu metadata pagination with safety cap - Stop paginating on a short page to avoid an extra empty request - Guard against undefined results (not just null) - Cap iterations at 100 pages and warn if the limit is hit to prevent a runaway loop if the API misbehaves Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Preserve JDK build number from Azul Metadata API The Azul Metadata API returns java_version as a 3-element array (e.g. [17,0,7]) and reports the build number separately in openjdk_build_number. The migration mapped version directly from java_version, dropping the build and breaking exact-version lookups like 17.0.7+7 (e2e failure: "No matching version found for SemVer"). Add openjdk_build_number to IZuluVersions and append it to java_version before converting to semver so resolved versions retain the build (e.g. 17.0.7+7). Update the zulu test fixtures to mirror the real API shape (3-element java_version plus openjdk_build_number) so unit tests exercise the actual response format, and rebuild dist. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|
|
0f481fcb61
|
feat: Add distribution detection support to .sdkmanrc file (#975)
Some checks failed
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 15s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 14s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 12s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 14s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 11s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 10s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 13s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 13s
* feat: Add distribution detection support to .sdkmanrc file Extends .sdkmanrc support to automatically detect Java distribution from SDKMAN identifiers (e.g., java=21.0.5-tem maps to temurin distribution). Makes distribution input optional when using .sdkmanrc with distribution suffix. * fix: align SDKMAN sem identifier mapping * fix: support SDKMAN albba identifier * docs: clarify sdkmanrc distribution inference scope Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Tencent Kona SDKMAN mapping and format sdkmanrc docs as a table - Map SDKMAN 'kona' identifier to the 'kona' distribution (added in #672) - Add a .sdkmanrc test case for the kona suffix - Convert the inline SDKMAN suffix mapping in advanced-usage.md to a table - Rebuild dist bundles Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Bruno Borges <brborges@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Bruno Borges <bruno.borges@gmail.com> |