Move proxy setup to request.js and update entrypoint
Proxy environment setup previously in bootstrap.js is now handled in lib/request.js for better encapsulation. The action entrypoint is updated from dist/bootstrap.cjs to dist/main.cjs, and bootstrap.js is removed. Build script is updated to exclude bootstrap.js.
This commit is contained in:
+1
-1
@@ -133,5 +133,5 @@ outputs:
|
||||
description: "GitHub App slug"
|
||||
runs:
|
||||
using: "node24"
|
||||
main: "dist/bootstrap.cjs"
|
||||
main: "dist/main.cjs"
|
||||
post: "dist/post.cjs"
|
||||
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
// Enable env-based proxy support unless caller explicitly set NODE_USE_ENV_PROXY
|
||||
if (process.env.NODE_USE_ENV_PROXY == null) {
|
||||
process.env.NODE_USE_ENV_PROXY = 1;
|
||||
}
|
||||
|
||||
// Import main after environment prepared. Using dynamic import so this executes first even when bundled.
|
||||
import("./main.js");
|
||||
@@ -1,6 +1,28 @@
|
||||
import core from "@actions/core";
|
||||
import { request } from "@octokit/request";
|
||||
|
||||
/* c8 ignore start -- proxy setup depends on external runner env */
|
||||
// Ensure env-based proxying for Node core agents unless explicitly disabled.
|
||||
if (process.env.NODE_USE_ENV_PROXY == null) {
|
||||
process.env.NODE_USE_ENV_PROXY = "1";
|
||||
}
|
||||
// Attempt to configure undici global dispatcher (used by octokit under the hood)
|
||||
// if a proxy environment variable is present. Failures are non-fatal.
|
||||
const __proxyUrl =
|
||||
process.env.HTTPS_PROXY || process.env.HTTP_PROXY || process.env.ALL_PROXY;
|
||||
if (__proxyUrl) {
|
||||
(async () => {
|
||||
try {
|
||||
const { setGlobalDispatcher, ProxyAgent } = await import("undici");
|
||||
setGlobalDispatcher(new ProxyAgent(__proxyUrl));
|
||||
} catch (e) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn("Proxy setup failed:", e.message);
|
||||
}
|
||||
})();
|
||||
}
|
||||
/* c8 ignore stop */
|
||||
|
||||
// Get the GitHub API URL from the action input and remove any trailing slash
|
||||
const baseUrl = core.getInput("github-api-url").replace(/\/$/, "");
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
"node": ">=24.4.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "esbuild bootstrap.js main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --packages=bundle",
|
||||
"build": "esbuild main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --packages=bundle",
|
||||
"test": "c8 --100 ava tests/index.js",
|
||||
"coverage": "c8 report --reporter html",
|
||||
"postcoverage": "open-cli coverage/index.html"
|
||||
|
||||
Reference in New Issue
Block a user