Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: add undici ProxyAgent support for GitHub Enterprise Server behind proxies#1104

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
rb-mwindh wants to merge2 commits intosemantic-release:master
base:master
Choose a base branch
Loading
fromrb-mwindh:fix/proxy-support-with-undici

Conversation

@rb-mwindh
Copy link

@rb-mwindhrb-mwindh commentedOct 17, 2025
edited
Loading

Description

This PR fixes proxy support for GitHub Enterprise Server environments where @semantic-release/github cannot establish connections through corporate proxies.

Problem

The current implementation uses HttpProxyAgent/HttpsProxyAgent with an agent option passed to Octokit's request. However, since Octokit now relies on undici as its fetch implementation, the agent option is no longer respected. Instead, undici expects a dispatcher to be passed into fetch.

Solution

  • ✅ Add undici ProxyAgent as dispatcher in custom fetch function
  • ✅ Maintain backwards compatibility with existing agent option
  • ✅ Add comprehensive unit tests for proxy functionality
  • ✅ Preserve all existing functionality for non-proxy scenarios

Changes

  1. Enhanced lib/octokit.js:

    • Import ProxyAgent and fetch from undici
    • Create fetchWithDispatcher function that uses ProxyAgent when proxy is configured
    • Maintain agent option for backwards compatibility
    • Update TypeScript definitions
  2. Added comprehensive tests:

    • Extended test/to-octokit-options.test.js with proxy-specific tests
    • Added test/octokit-proxy-integration.test.js for integration testing
    • Tests cover both proxy and non-proxy scenarios
    • Validates backwards compatibility
  3. Updated dependencies:

    • Added undici ^7.0.0 to package.json dependencies

Backwards Compatibility

✅ Full backwards compatibility maintained:

  • Legacy agent option still provided
  • All existing tests pass
  • No breaking changes to API

Testing

All tests pass, including:

  • Existing proxy agent tests
  • New undici ProxyAgent tests
  • Integration tests with mock servers
  • Backwards compatibility tests

Related Issue

Fixes the issue described in the GitHub issue where semantic-release fails with 'Connect Timeout Error' when running against GitHub Enterprise Server behind corporate proxies.

Review Notes

The implementation provides both legacy support (agent) and modern support (fetch with dispatcher) to ensure maximum compatibility while fixing the core proxy connectivity issue.

…d proxies- Add undici ProxyAgent as dispatcher in custom fetch function- Maintain backwards compatibility with existing agent option- Add comprehensive unit tests for proxy functionality- Fix proxy support for GitHub Enterprise Server environmentsFixes issue where @semantic-release/github cannot connect throughcorporate proxies due to undici's fetch implementation notrespecting the agent option.The solution provides both legacy agent support and new undiciProxyAgent dispatcher for modern Octokit versions that use undicias their fetch implementation.
@babblebeybabblebey requested a review fromgr2mOctober 19, 2025 15:00
@nickv-work
Copy link

nickv-work commentedOct 26, 2025
edited by heartsbot
Loading

This is spectacular, I just encountered this issue myself. Thanks for the fix,@rb-mwindh!

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@gr2mgr2mAwaiting requested review from gr2m

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

@semantic-release/github fails to connect a GHES through our corporate proxy

2 participants

@rb-mwindh@nickv-work

[8]ページ先頭

©2009-2025 Movatter.jp