From eaef29498fbc63724aabd0a6e832efd41baf2cc7 Mon Sep 17 00:00:00 2001 From: Parker Brown <17183625+parkerbxyz@users.noreply.github.com> Date: Thu, 3 Apr 2025 15:53:46 -0700 Subject: [PATCH 1/2] fix: improve log messages for token creation (#226) Updated log messages to provide clearer and more consistent information. --- lib/main.js | 31 +++++++++++++------------ tests/snapshots/index.js.md | 41 ++++++++++++++++++++++++---------- tests/snapshots/index.js.snap | Bin 1349 -> 1392 bytes 3 files changed, 44 insertions(+), 28 deletions(-) diff --git a/lib/main.js b/lib/main.js index 3440d9a..f07947f 100644 --- a/lib/main.js +++ b/lib/main.js @@ -21,7 +21,7 @@ export async function main( core, createAppAuth, request, - skipTokenRevoke, + skipTokenRevoke ) { let parsedOwner = ""; let parsedRepositoryNames = []; @@ -33,7 +33,7 @@ export async function main( parsedRepositoryNames = [repo]; core.info( - `owner and repositories not set, creating token for the current repository ("${repo}")`, + `Inputs 'owner' and 'repositories' are not set. Creating token for this repository (${owner}/${repo}).` ); } @@ -42,7 +42,7 @@ export async function main( parsedOwner = owner; core.info( - `repositories not set, creating token for all repositories for given owner "${owner}"`, + `Input 'repositories' is not set. Creating token for all repositories owned by ${owner}.` ); } @@ -52,9 +52,9 @@ export async function main( parsedRepositoryNames = repositories; core.info( - `owner not set, creating owner for given repositories "${repositories.join( - ",", - )}" in current owner ("${parsedOwner}")`, + `No 'owner' input provided. Using default owner '${parsedOwner}' to create token for the following repositories:${repositories + .map((repo) => `\n- ${parsedOwner}/${repo}`) + .join("")}` ); } @@ -64,9 +64,8 @@ export async function main( parsedRepositoryNames = repositories; core.info( - `owner and repositories set, creating token for repositories "${repositories.join( - ",", - )}" owned by "${owner}"`, + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories: + ${repositories.map((repo) => `\n- ${parsedOwner}/${repo}`).join("")}` ); } @@ -87,18 +86,18 @@ export async function main( auth, parsedOwner, parsedRepositoryNames, - permissions, + permissions ), { onFailedAttempt: (error) => { core.info( `Failed to create token for "${parsedRepositoryNames.join( - ",", - )}" (attempt ${error.attemptNumber}): ${error.message}`, + "," + )}" (attempt ${error.attemptNumber}): ${error.message}` ); }, retries: 3, - }, + } )); } else { // Otherwise get the installation for the owner, which can either be an organization or a user account @@ -107,11 +106,11 @@ export async function main( { onFailedAttempt: (error) => { core.info( - `Failed to create token for "${parsedOwner}" (attempt ${error.attemptNumber}): ${error.message}`, + `Failed to create token for "${parsedOwner}" (attempt ${error.attemptNumber}): ${error.message}` ); }, retries: 3, - }, + } )); } @@ -157,7 +156,7 @@ async function getTokenFromRepository( auth, parsedOwner, parsedRepositoryNames, - permissions, + permissions ) { // https://docs.github.com/rest/apps/apps?apiVersion=2022-11-28#get-a-repository-installation-for-the-authenticated-app const response = await request("GET /repos/{owner}/{repo}/installation", { diff --git a/tests/snapshots/index.js.md b/tests/snapshots/index.js.md index eeb7387..e419536 100644 --- a/tests/snapshots/index.js.md +++ b/tests/snapshots/index.js.md @@ -22,7 +22,9 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "create-github-app-token" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/create-github-app-token␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -65,7 +67,7 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories not set, creating token for the current repository ("create-github-app-token")␊ + `Inputs 'owner' and 'repositories' are not set. Creating token for this repository (actions/create-github-app-token).␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -89,7 +91,9 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "failed-repo" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/failed-repo␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -113,7 +117,7 @@ Generated by [AVA](https://avajs.dev). > stdout - `repositories not set, creating token for all repositories for given owner "smockle"␊ + `Input 'repositories' is not set. Creating token for all repositories owned by smockle.␊ Failed to create token for "smockle" (attempt 1): GitHub API not available␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ @@ -138,7 +142,9 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "failed-repo" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/failed-repo␊ Failed to create token for "failed-repo" (attempt 1): GitHub API not available␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ @@ -163,7 +169,11 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "create-github-app-token,toolkit,checkout" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/create-github-app-token␊ + - actions/toolkit␊ + - actions/checkout␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -186,7 +196,11 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "create-github-app-token,toolkit,checkout" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/create-github-app-token␊ + - actions/toolkit␊ + - actions/checkout␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -209,7 +223,9 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories set, creating token for repositories "create-github-app-token" owned by "actions"␊ + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories:␊ + ␊ + - actions/create-github-app-token␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -232,7 +248,7 @@ Generated by [AVA](https://avajs.dev). > stdout - `repositories not set, creating token for all repositories for given owner "actions"␊ + `Input 'repositories' is not set. Creating token for all repositories owned by actions.␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -255,7 +271,8 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner not set, creating owner for given repositories "create-github-app-token" in current owner ("actions")␊ + `No 'owner' input provided. Using default owner 'actions' to create token for the following repositories:␊ + - actions/create-github-app-token␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -278,7 +295,7 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories not set, creating token for the current repository ("create-github-app-token")␊ + `Inputs 'owner' and 'repositories' are not set. Creating token for this repository (actions/create-github-app-token).␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ @@ -301,7 +318,7 @@ Generated by [AVA](https://avajs.dev). > stdout - `owner and repositories not set, creating token for the current repository ("create-github-app-token")␊ + `Inputs 'owner' and 'repositories' are not set. Creating token for this repository (actions/create-github-app-token).␊ ::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ ␊ ::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊ diff --git a/tests/snapshots/index.js.snap b/tests/snapshots/index.js.snap index 14f1a6cf97064fb740225c1f800358562db9872b..e66c3d55e1416e7ac7aff4b1d2b5c4e6ce80213f 100644 GIT binary patch literal 1392 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 H8Yln&BPNd& From 3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 3 Apr 2025 22:54:20 +0000 Subject: [PATCH 2/2] build(release): 2.0.2 [skip ci] ## [2.0.2](https://github.com/actions/create-github-app-token/compare/v2.0.1...v2.0.2) (2025-04-03) ### Bug Fixes * improve log messages for token creation ([#226](https://github.com/actions/create-github-app-token/issues/226)) ([eaef294](https://github.com/actions/create-github-app-token/commit/eaef29498fbc63724aabd0a6e832efd41baf2cc7)) --- dist/main.cjs | 15 +++++++-------- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/dist/main.cjs b/dist/main.cjs index c212ad4..2ad1836 100644 --- a/dist/main.cjs +++ b/dist/main.cjs @@ -42526,31 +42526,30 @@ async function main(appId2, privateKey2, owner2, repositories2, permissions2, co parsedOwner = owner3; parsedRepositoryNames = [repo]; core3.info( - `owner and repositories not set, creating token for the current repository ("${repo}")` + `Inputs 'owner' and 'repositories' are not set. Creating token for this repository (${owner3}/${repo}).` ); } if (owner2 && repositories2.length === 0) { parsedOwner = owner2; core3.info( - `repositories not set, creating token for all repositories for given owner "${owner2}"` + `Input 'repositories' is not set. Creating token for all repositories owned by ${owner2}.` ); } if (!owner2 && repositories2.length > 0) { parsedOwner = String(process.env.GITHUB_REPOSITORY_OWNER); parsedRepositoryNames = repositories2; core3.info( - `owner not set, creating owner for given repositories "${repositories2.join( - "," - )}" in current owner ("${parsedOwner}")` + `No 'owner' input provided. Using default owner '${parsedOwner}' to create token for the following repositories:${repositories2.map((repo) => ` +- ${parsedOwner}/${repo}`).join("")}` ); } if (owner2 && repositories2.length > 0) { parsedOwner = owner2; parsedRepositoryNames = repositories2; core3.info( - `owner and repositories set, creating token for repositories "${repositories2.join( - "," - )}" owned by "${owner2}"` + `Inputs 'owner' and 'repositories' are set. Creating token for the following repositories: + ${repositories2.map((repo) => ` +- ${parsedOwner}/${repo}`).join("")}` ); } const auth5 = createAppAuth2({ diff --git a/package-lock.json b/package-lock.json index 3c4d2c8..4e9016c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "create-github-app-token", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "create-github-app-token", - "version": "2.0.1", + "version": "2.0.2", "license": "MIT", "dependencies": { "@actions/core": "^1.11.1", diff --git a/package.json b/package.json index 0bd67f8..64a62e6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "create-github-app-token", "private": true, "type": "module", - "version": "2.0.1", + "version": "2.0.2", "description": "GitHub Action for creating a GitHub App Installation Access Token", "scripts": { "build": "esbuild main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --target=node20.0.0 --packages=bundle",