-
Notifications
You must be signed in to change notification settings - Fork 818
Enhance error logging for network failures to include endpoint/IP details, add retry mechanism and update workflows to use macos-15-intel #946
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
07e4e83
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances error handling and introduces retry logic for Java installation failures, particularly for transient network issues. It also updates GitHub Actions workflow configurations to use a newer macOS runner.
Key changes:
- Adds retry logic with up to 4 attempts for network-related errors (ETIMEDOUT, ECONNRESET, etc.) and HTTP errors (429, 502, 503, 504)
- Improves error logging to include detailed information about aggregate errors and network failures
- Updates CI workflows to use
macos-15-intelinstead ofmacos-13
Reviewed Changes
Copilot reviewed 3 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/distributions/base-installer.ts | Adds retry loop with network error detection, enhanced error logging with support for aggregate errors, console timer cleanup, and null check for foundJava |
| dist/setup/index.js | Compiled JavaScript output reflecting the TypeScript changes |
| package-lock.json | Removes extra blank line at the beginning of the file |
| .github/workflows/e2e-versions.yml | Updates macOS runner from macos-13 to macos-15-intel |
| .github/workflows/e2e-cache.yml | Updates macOS runner from macos-13 to macos-15-intel |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
[//]: # (dependabot-start)⚠️ \*\*Dependabot is rebasing this PR\*\*⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [actions/setup-java](https://github.com/actions/setup-java) from 5.0.0 to 5.1.0. Release notes *Sourced from [actions/setup-java's releases](https://github.com/actions/setup-java/releases).* > v5.1.0 > ------ > > What's Changed > -------------- > > ### New Features > > * Add support for `.sdkmanrc` file in `java-version-file` parameter by [`@guicamest`](https://github.com/guicamest) in [actions/setup-java#736](https://redirect.github.com/actions/setup-java/pull/736) > * Add support for Microsoft OpenJDK 25 builds by [`@the-mod`](https://github.com/the-mod) in [actions/setup-java#927](https://redirect.github.com/actions/setup-java/pull/927) > > ### Bug Fixes & Improvements > > * Update Regex to Support All ASDF Versions for the supported distributions in tool-versions File by [`@aparnajyothi-y`](https://github.com/aparnajyothi-y) in [actions/setup-java#767](https://redirect.github.com/actions/setup-java/pull/767) > * Enhance error logging for network failures to include endpoint/IP details, add retry mechanism and update workflows to use macos-15-intel by [`@priya-kinthali`](https://github.com/priya-kinthali) in [actions/setup-java#946](https://redirect.github.com/actions/setup-java/pull/946) > * Update SapMachine URLs by [`@RealCLanger`](https://github.com/RealCLanger) in [actions/setup-java#955](https://redirect.github.com/actions/setup-java/pull/955) > * Add GitHub Token Support for GraalVM and Refactor Code by [`@mahabaleshwars`](https://github.com/mahabaleshwars) in [actions/setup-java#849](https://redirect.github.com/actions/setup-java/pull/849) > > ### Documentation changes > > * Update documentation to use checkout and Java v5 by [`@lmvysakh`](https://github.com/lmvysakh) in [actions/setup-java#903](https://redirect.github.com/actions/setup-java/pull/903) > * Clarify JAVA\_HOME and PATH setup in README by [`@chiranjib-swain`](https://github.com/chiranjib-swain) in [actions/setup-java#841](https://redirect.github.com/actions/setup-java/pull/841) > > ### Dependency updates > > * Upgrade prettier from 2.8.8 to 3.6.2 and document breaking changes in v5 by [`@dependabot`](https://github.com/dependabot) in [actions/setup-java#873](https://redirect.github.com/actions/setup-java/pull/873) > * Upgrade actions/publish-action from 0.3.0 to 0.4.0 by [`@dependabot`](https://github.com/dependabot) in [actions/setup-java#912](https://redirect.github.com/actions/setup-java/pull/912) > > New Contributors > ---------------- > > * [`@lmvysakh`](https://github.com/lmvysakh) made their first contribution in [actions/setup-java#903](https://redirect.github.com/actions/setup-java/pull/903) > * [`@chiranjib-swain`](https://github.com/chiranjib-swain) made their first contribution in [actions/setup-java#841](https://redirect.github.com/actions/setup-java/pull/841) > * [`@the-mod`](https://github.com/the-mod) made their first contribution in [actions/setup-java#927](https://redirect.github.com/actions/setup-java/pull/927) > * [`@priya-kinthali`](https://github.com/priya-kinthali) made their first contribution in [actions/setup-java#946](https://redirect.github.com/actions/setup-java/pull/946) > * [`@guicamest`](https://github.com/guicamest) made their first contribution in [actions/setup-java#736](https://redirect.github.com/actions/setup-java/pull/736) > > **Full Changelog**: <actions/setup-java@v5...v5.1.0> Commits * [`f2beeb2`](actions/setup-java@f2beeb2) Bump actions/publish-action from 0.3.0 to 0.4.0 ([#912](https://redirect.github.com/actions/setup-java/issues/912)) * [`4e7e684`](actions/setup-java@4e7e684) feat: Add support for `.sdkmanrc` file in `java-version-file` parameter ([#736](https://redirect.github.com/actions/setup-java/issues/736)) * [`46c56d6`](actions/setup-java@46c56d6) Add GitHub Token Support for GraalVM and Refactor Code ([#849](https://redirect.github.com/actions/setup-java/issues/849)) * [`66b9457`](actions/setup-java@66b9457) Update SapMachine URLs ([#955](https://redirect.github.com/actions/setup-java/issues/955)) * [`6ba5449`](actions/setup-java@6ba5449) Enhance error logging for network failures to include endpoint/IP details, ad... * [`de5a937`](actions/setup-java@de5a937) adds microsoft openjdk25 builds ([#927](https://redirect.github.com/actions/setup-java/issues/927)) * [`ead9eaa`](actions/setup-java@ead9eaa) Update Regex to Support All ASDF Versions for the supported distributions in ... * [`8c57fa3`](actions/setup-java@8c57fa3) Clarify JAVA\_HOME and PATH setup in README ([#841](https://redirect.github.com/actions/setup-java/issues/841)) * [`a7ab372`](actions/setup-java@a7ab372) Bump prettier from 2.8.8 to 3.6.2 ([#873](https://redirect.github.com/actions/setup-java/issues/873)) * [`d0351b4`](actions/setup-java@d0351b4) Update documentation to use checkout and Java v5 ([#903](https://redirect.github.com/actions/setup-java/issues/903)) * See full diff in [compare view](actions/setup-java@dded088...f2beeb2) [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Description:
This PR enhances error logging in setup-java to improve troubleshooting and clarity. It adds detailed logs for aggregate network errors, including specific information such as endpoints, ports, and stack traces, making it easier to diagnose and resolve issues effectively. Additionally, it implements a retry mechanism for transient network failures to improve reliability when encountering temporary connectivity issues. Updates workflows to replace usage of
macos-13withmacos-15-intel, ensuring compatibility with newer macOS runner versions.Related issue:
#897, #923
Check list: