From addc0880c93cc8277327d1dde91a85dbaec9bc6a Mon Sep 17 00:00:00 2001 From: Priya Gupta <147705955+v-priyagupta108@users.noreply.github.com> Date: Wed, 9 Sep 2026 00:47:06 +0530 Subject: [PATCH] Group verbose Go installation logs and normalize package.json line endings (#789) * refactor: enhance logging and group setup for Go version installation * refactor: update logging group name for Go version setup * refactor: standardize formatting in package.json * audit fix * update package-lock.json --- dist/setup/index.js | 44 +++++++++------- package-lock.json | 46 ++++++++--------- package.json | 120 ++++++++++++++++++++++---------------------- src/main.ts | 70 ++++++++++++++------------ 4 files changed, 146 insertions(+), 134 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index a131a9a..c206971 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -100576,32 +100576,38 @@ async function run() { const versionSpec = resolveVersionInput(); setGoToolchain(); const cache = getBooleanInput('cache'); - core_info(`Setup go version spec ${versionSpec}`); let arch = getInput('architecture'); if (!arch) { arch = external_os_default().arch(); } if (versionSpec) { - const token = getInput('token'); - const auth = !token ? undefined : `token ${token}`; - const checkLatest = getBooleanInput('check-latest'); - const goDownloadBaseUrl = getInput('go-download-base-url') || - process.env['GO_DOWNLOAD_BASE_URL'] || - undefined; - if (goDownloadBaseUrl) { - core_info(`Using custom Go download base URL: ${goDownloadBaseUrl}`); + startGroup('Installed version'); + try { + core_info(`Setup go version spec ${versionSpec}`); + const token = getInput('token'); + const auth = !token ? undefined : `token ${token}`; + const checkLatest = getBooleanInput('check-latest'); + const goDownloadBaseUrl = getInput('go-download-base-url') || + process.env['GO_DOWNLOAD_BASE_URL'] || + undefined; + if (goDownloadBaseUrl) { + core_info(`Using custom Go download base URL: ${goDownloadBaseUrl}`); + } + const installDir = await getGo(versionSpec, checkLatest, auth, arch, goDownloadBaseUrl); + const installDirVersion = external_path_default().basename(external_path_default().dirname(installDir)); + addPath(external_path_default().join(installDir, 'bin')); + core_info('Added go to the path'); + const version = makeSemver(installDirVersion); + // Go versions less than 1.9 require GOROOT to be set + if (node_modules_semver.lt(version, '1.9.0')) { + core_info('Setting GOROOT for Go version < 1.9'); + exportVariable('GOROOT', installDir); + } + core_info(`Successfully set up Go version ${versionSpec}`); } - const installDir = await getGo(versionSpec, checkLatest, auth, arch, goDownloadBaseUrl); - const installDirVersion = external_path_default().basename(external_path_default().dirname(installDir)); - addPath(external_path_default().join(installDir, 'bin')); - core_info('Added go to the path'); - const version = makeSemver(installDirVersion); - // Go versions less than 1.9 require GOROOT to be set - if (node_modules_semver.lt(version, '1.9.0')) { - core_info('Setting GOROOT for Go version < 1.9'); - exportVariable('GOROOT', installDir); + finally { + endGroup(); } - core_info(`Successfully set up Go version ${versionSpec}`); } else { core_info('[warning]go-version input was not specified. The action will try to use pre-installed version.'); diff --git a/package-lock.json b/package-lock.json index 1a2ebc5..4b269a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2703,9 +2703,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.38", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.38.tgz", - "integrity": "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==", + "version": "2.11.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz", + "integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2728,9 +2728,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", "dev": true, "funding": [ { @@ -2748,11 +2748,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" }, "bin": { "browserslist": "cli.js" @@ -2812,9 +2812,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001799", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", - "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", "dev": true, "funding": [ { @@ -3093,9 +3093,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.376", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.376.tgz", - "integrity": "sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==", + "version": "1.5.418", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.418.tgz", + "integrity": "sha512-UzS26r3AEbG5wSoGVpJKqwHIU9zwQN7LHdVIThDrJpS0I5KdlXFMEb8543fhc9dVnIIAST6ar8rhwa00AL5MlA==", "dev": true, "license": "ISC" }, @@ -5116,9 +5116,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.48", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.48.tgz", - "integrity": "sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==", + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz", + "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==", "dev": true, "license": "MIT", "engines": { @@ -6239,9 +6239,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz", + "integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index 74b50f5..cbbdbe1 100644 --- a/package.json +++ b/package.json @@ -1,60 +1,60 @@ -{ - "name": "setup-go", - "version": "7.0.0", - "type": "module", - "private": true, - "description": "setup go action", - "main": "lib/setup-go.js", - "engines": { - "node": ">=24.0.0" - }, - "scripts": { - "build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts", - "format": "prettier --no-error-on-unmatched-pattern --write \"**/*.{ts,yml,yaml}\"", - "format-check": "prettier --no-error-on-unmatched-pattern --check \"**/*.{ts,yml,yaml}\"", - "lint": "eslint \"**/*.ts\"", - "lint:fix": "eslint \"**/*.ts\" --fix", - "test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --coverage", - "pre-checkin": "npm run format && npm run lint:fix && npm run build && npm test" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/actions/setup-go.git" - }, - "keywords": [ - "actions", - "go", - "setup" - ], - "author": "GitHub", - "license": "MIT", - "dependencies": { - "@actions/cache": "^6.2.0", - "@actions/core": "^3.0.1", - "@actions/exec": "^3.0.0", - "@actions/glob": "^0.7.0", - "@actions/http-client": "^4.0.1", - "@actions/io": "^3.0.2", - "@actions/tool-cache": "^4.0.0", - "semver": "^7.8.5" - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@jest/globals": "^30.4.1", - "@types/node": "^24.0.0", - "@types/semver": "^7.7.0", - "@typescript-eslint/eslint-plugin": "^8.62.0", - "@typescript-eslint/parser": "^8.62.0", - "@vercel/ncc": "^0.44.0", - "eslint": "^10.5.0", - "eslint-config-prettier": "^10.0.0", - "eslint-plugin-jest": "^29.15.2", - "eslint-plugin-n": "^18.1.0", - "globals": "^17.7.0", - "jest": "^30.4.2", - "nock": "^14.0.0", - "prettier": "^3.8.4", - "ts-jest": "^29.4.11", - "typescript": "^6.0.3" - } -} +{ + "name": "setup-go", + "version": "7.0.0", + "type": "module", + "private": true, + "description": "setup go action", + "main": "lib/setup-go.js", + "engines": { + "node": ">=24.0.0" + }, + "scripts": { + "build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts", + "format": "prettier --no-error-on-unmatched-pattern --write \"**/*.{ts,yml,yaml}\"", + "format-check": "prettier --no-error-on-unmatched-pattern --check \"**/*.{ts,yml,yaml}\"", + "lint": "eslint \"**/*.ts\"", + "lint:fix": "eslint \"**/*.ts\" --fix", + "test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --runInBand --coverage", + "pre-checkin": "npm run format && npm run lint:fix && npm run build && npm test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/setup-go.git" + }, + "keywords": [ + "actions", + "go", + "setup" + ], + "author": "GitHub", + "license": "MIT", + "dependencies": { + "@actions/cache": "^6.2.0", + "@actions/core": "^3.0.1", + "@actions/exec": "^3.0.0", + "@actions/glob": "^0.7.0", + "@actions/http-client": "^4.0.1", + "@actions/io": "^3.0.2", + "@actions/tool-cache": "^4.0.0", + "semver": "^7.8.5" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@jest/globals": "^30.4.1", + "@types/node": "^24.0.0", + "@types/semver": "^7.7.0", + "@typescript-eslint/eslint-plugin": "^8.62.0", + "@typescript-eslint/parser": "^8.62.0", + "@vercel/ncc": "^0.44.0", + "eslint": "^10.5.0", + "eslint-config-prettier": "^10.0.0", + "eslint-plugin-jest": "^29.15.2", + "eslint-plugin-n": "^18.1.0", + "globals": "^17.7.0", + "jest": "^30.4.2", + "nock": "^14.0.0", + "prettier": "^3.8.4", + "ts-jest": "^29.4.11", + "typescript": "^6.0.3" + } +} diff --git a/src/main.ts b/src/main.ts index 98aee1c..2bc2765 100644 --- a/src/main.ts +++ b/src/main.ts @@ -21,7 +21,6 @@ export async function run() { setGoToolchain(); const cache = core.getBooleanInput('cache'); - core.info(`Setup go version spec ${versionSpec}`); let arch = core.getInput('architecture') as Architecture; @@ -30,41 +29,48 @@ export async function run() { } if (versionSpec) { - const token = core.getInput('token'); - const auth = !token ? undefined : `token ${token}`; + core.startGroup('Installed version'); + try { + core.info(`Setup go version spec ${versionSpec}`); - const checkLatest = core.getBooleanInput('check-latest'); + const token = core.getInput('token'); + const auth = !token ? undefined : `token ${token}`; - const goDownloadBaseUrl = - core.getInput('go-download-base-url') || - process.env['GO_DOWNLOAD_BASE_URL'] || - undefined; + const checkLatest = core.getBooleanInput('check-latest'); - if (goDownloadBaseUrl) { - core.info(`Using custom Go download base URL: ${goDownloadBaseUrl}`); + const goDownloadBaseUrl = + core.getInput('go-download-base-url') || + process.env['GO_DOWNLOAD_BASE_URL'] || + undefined; + + if (goDownloadBaseUrl) { + core.info(`Using custom Go download base URL: ${goDownloadBaseUrl}`); + } + + const installDir = await installer.getGo( + versionSpec, + checkLatest, + auth, + arch, + goDownloadBaseUrl + ); + + const installDirVersion = path.basename(path.dirname(installDir)); + + core.addPath(path.join(installDir, 'bin')); + core.info('Added go to the path'); + + const version = installer.makeSemver(installDirVersion); + // Go versions less than 1.9 require GOROOT to be set + if (semver.lt(version, '1.9.0')) { + core.info('Setting GOROOT for Go version < 1.9'); + core.exportVariable('GOROOT', installDir); + } + + core.info(`Successfully set up Go version ${versionSpec}`); + } finally { + core.endGroup(); } - - const installDir = await installer.getGo( - versionSpec, - checkLatest, - auth, - arch, - goDownloadBaseUrl - ); - - const installDirVersion = path.basename(path.dirname(installDir)); - - core.addPath(path.join(installDir, 'bin')); - core.info('Added go to the path'); - - const version = installer.makeSemver(installDirVersion); - // Go versions less than 1.9 require GOROOT to be set - if (semver.lt(version, '1.9.0')) { - core.info('Setting GOROOT for Go version < 1.9'); - core.exportVariable('GOROOT', installDir); - } - - core.info(`Successfully set up Go version ${versionSpec}`); } else { core.info( '[warning]go-version input was not specified. The action will try to use pre-installed version.'