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

Appearance settings

Commit d72941d

Browse filesBrowse files
build(release): 1.12.0 [skip ci]
# [1.12.0](v1.11.7...v1.12.0) (2025-03-27) ### Features * permissions ([#168](#168)) ([0e0aa99](0e0aa99))
1 parent 0e0aa99 commit d72941d
Copy full SHA for d72941d

File tree

2 files changed

+50
-23
lines changed
Filter options

2 files changed

+50
-23
lines changed

‎dist/main.cjs

Copy file name to clipboardExpand all lines: dist/main.cjs
+49-22Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
2828
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
2929
mod
3030
));
31+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
3132

3233
// node_modules/@actions/core/lib/utils.js
3334
var require_utils = __commonJS({
@@ -40431,6 +40432,11 @@ var require_undici2 = __commonJS({
4043140432
});
4043240433

4043340434
// main.js
40435+
var main_exports = {};
40436+
__export(main_exports, {
40437+
default: () => main_default
40438+
});
40439+
module.exports = __toCommonJS(main_exports);
4043440440
var import_core2 = __toESM(require_core(), 1);
4043540441

4043640442
// node_modules/universal-user-agent/index.js
@@ -41890,19 +41896,19 @@ async function get(cache, options) {
4189041896
permissionsString,
4189141897
singleFileName
4189241898
] = result.split("|");
41893-
const permissions = options.permissions || permissionsString.split(/,/).reduce((permissions2, string) => {
41899+
const permissions2 = options.permissions || permissionsString.split(/,/).reduce((permissions22, string) => {
4189441900
if (/!$/.test(string)) {
41895-
permissions2[string.slice(0, -1)] = "write";
41901+
permissions22[string.slice(0, -1)] = "write";
4189641902
} else {
41897-
permissions2[string] = "read";
41903+
permissions22[string] = "read";
4189841904
}
41899-
return permissions2;
41905+
return permissions22;
4190041906
}, {});
4190141907
return {
4190241908
token,
4190341909
createdAt,
4190441910
expiresAt,
41905-
permissions,
41911+
permissions: permissions2,
4190641912
repositoryIds: options.repositoryIds,
4190741913
repositoryNames: options.repositoryNames,
4190841914
singleFileName,
@@ -41926,11 +41932,11 @@ async function set(cache, options, data) {
4192641932
}
4192741933
function optionsToCacheKey({
4192841934
installationId,
41929-
permissions = {},
41935+
permissions: permissions2 = {},
4193041936
repositoryIds = [],
4193141937
repositoryNames = []
4193241938
}) {
41933-
const permissionsString = Object.keys(permissions).sort().map((name) => permissions[name] === "read" ? name : `${name}!`).join(",");
41939+
const permissionsString = Object.keys(permissions2).sort().map((name) => permissions2[name] === "read" ? name : `${name}!`).join(",");
4193441940
const repositoryIdsString = repositoryIds.sort().join(",");
4193541941
const repositoryNamesString = repositoryNames.join(",");
4193641942
return [
@@ -41946,7 +41952,7 @@ function toTokenAuthentication({
4194641952
createdAt,
4194741953
expiresAt,
4194841954
repositorySelection,
41949-
permissions,
41955+
permissions: permissions2,
4195041956
repositoryIds,
4195141957
repositoryNames,
4195241958
singleFileName
@@ -41957,7 +41963,7 @@ function toTokenAuthentication({
4195741963
tokenType: "installation",
4195841964
token,
4195941965
installationId,
41960-
permissions,
41966+
permissions: permissions2,
4196141967
createdAt,
4196241968
expiresAt,
4196341969
repositorySelection
@@ -41995,7 +42001,7 @@ async function getInstallationAuthentication(state, options, customRequest) {
4199542001
token: token2,
4199642002
createdAt: createdAt2,
4199742003
expiresAt: expiresAt2,
41998-
permissions: permissions2,
42004+
permissions: permissions22,
4199942005
repositoryIds: repositoryIds2,
4200042006
repositoryNames: repositoryNames2,
4200142007
singleFileName: singleFileName2,
@@ -42006,7 +42012,7 @@ async function getInstallationAuthentication(state, options, customRequest) {
4200642012
token: token2,
4200742013
createdAt: createdAt2,
4200842014
expiresAt: expiresAt2,
42009-
permissions: permissions2,
42015+
permissions: permissions22,
4201042016
repositorySelection: repositorySelection2,
4201142017
repositoryIds: repositoryIds2,
4201242018
repositoryNames: repositoryNames2,
@@ -42049,7 +42055,7 @@ async function getInstallationAuthentication(state, options, customRequest) {
4204942055
"POST /app/installations/{installation_id}/access_tokens",
4205042056
payload
4205142057
);
42052-
const permissions = permissionsOptional || {};
42058+
const permissions2 = permissionsOptional || {};
4205342059
const repositorySelection = repositorySelectionOptional || "all";
4205442060
const repositoryIds = repositories2 ? repositories2.map((r) => r.id) : void 0;
4205542061
const repositoryNames = repositories2 ? repositories2.map((repo) => repo.name) : void 0;
@@ -42059,7 +42065,7 @@ async function getInstallationAuthentication(state, options, customRequest) {
4205942065
createdAt,
4206042066
expiresAt,
4206142067
repositorySelection,
42062-
permissions,
42068+
permissions: permissions2,
4206342069
repositoryIds,
4206442070
repositoryNames
4206542071
};
@@ -42073,7 +42079,7 @@ async function getInstallationAuthentication(state, options, customRequest) {
4207342079
createdAt,
4207442080
expiresAt,
4207542081
repositorySelection,
42076-
permissions,
42082+
permissions: permissions2,
4207742083
repositoryIds,
4207842084
repositoryNames
4207942085
};
@@ -42376,7 +42382,7 @@ async function pRetry(input, options) {
4237642382
}
4237742383

4237842384
// lib/main.js
42379-
async function main(appId2, privateKey2, owner2, repositories2, core3, createAppAuth2, request2, skipTokenRevoke2) {
42385+
async function main(appId2, privateKey2, owner2, repositories2, permissions2, core3, createAppAuth2, request2, skipTokenRevoke2) {
4238042386
let parsedOwner = "";
4238142387
let parsedRepositoryNames = [];
4238242388
if (!owner2 && repositories2.length === 0) {
@@ -42423,7 +42429,8 @@ async function main(appId2, privateKey2, owner2, repositories2, core3, createApp
4242342429
request2,
4242442430
auth5,
4242542431
parsedOwner,
42426-
parsedRepositoryNames
42432+
parsedRepositoryNames,
42433+
permissions2
4242742434
),
4242842435
{
4242942436
onFailedAttempt: (error) => {
@@ -42438,7 +42445,7 @@ async function main(appId2, privateKey2, owner2, repositories2, core3, createApp
4243842445
));
4243942446
} else {
4244042447
({ authentication, installationId, appSlug } = await pRetry(
42441-
() => getTokenFromOwner(request2, auth5, parsedOwner),
42448+
() => getTokenFromOwner(request2, auth5, parsedOwner, permissions2),
4244242449
{
4244342450
onFailedAttempt: (error) => {
4244442451
core3.info(
@@ -42458,7 +42465,7 @@ async function main(appId2, privateKey2, owner2, repositories2, core3, createApp
4245842465
core3.saveState("expiresAt", authentication.expiresAt);
4245942466
}
4246042467
}
42461-
async function getTokenFromOwner(request2, auth5, parsedOwner) {
42468+
async function getTokenFromOwner(request2, auth5, parsedOwner, permissions2) {
4246242469
const response = await request2("GET /users/{username}/installation", {
4246342470
username: parsedOwner,
4246442471
request: {
@@ -42467,13 +42474,14 @@ async function getTokenFromOwner(request2, auth5, parsedOwner) {
4246742474
});
4246842475
const authentication = await auth5({
4246942476
type: "installation",
42470-
installationId: response.data.id
42477+
installationId: response.data.id,
42478+
permissions: permissions2
4247142479
});
4247242480
const installationId = response.data.id;
4247342481
const appSlug = response.data["app_slug"];
4247442482
return { authentication, installationId, appSlug };
4247542483
}
42476-
async function getTokenFromRepository(request2, auth5, parsedOwner, parsedRepositoryNames) {
42484+
async function getTokenFromRepository(request2, auth5, parsedOwner, parsedRepositoryNames, permissions2) {
4247742485
const response = await request2("GET /repos/{owner}/{repo}/installation", {
4247842486
owner: parsedOwner,
4247942487
repo: parsedRepositoryNames[0],
@@ -42484,7 +42492,8 @@ async function getTokenFromRepository(request2, auth5, parsedOwner, parsedReposi
4248442492
const authentication = await auth5({
4248542493
type: "installation",
4248642494
installationId: response.data.id,
42487-
repositoryNames: parsedRepositoryNames
42495+
repositoryNames: parsedRepositoryNames,
42496+
permissions: permissions2
4248842497
});
4248942498
const installationId = response.data.id;
4249042499
const appSlug = response.data["app_slug"];
@@ -42518,6 +42527,22 @@ var request_default = request.defaults({
4251842527
request: proxyUrl ? { fetch: proxyFetch } : {}
4251942528
});
4252042529

42530+
// lib/get-permissions-from-inputs.js
42531+
function getPermissionsFromInputs(env) {
42532+
return Object.entries(env).reduce((permissions2, [key, value]) => {
42533+
if (!key.startsWith("INPUT_PERMISSION_")) return permissions2;
42534+
const permission = key.slice("INPUT_PERMISSION_".length).toLowerCase();
42535+
if (permissions2 === void 0) {
42536+
return { [permission]: value };
42537+
}
42538+
return {
42539+
// @ts-expect-error - needs to be typed correctly
42540+
...permissions2,
42541+
[permission]: value
42542+
};
42543+
}, void 0);
42544+
}
42545+
4252142546
// main.js
4252242547
if (!process.env.GITHUB_REPOSITORY) {
4252342548
throw new Error("GITHUB_REPOSITORY missing, must be set to '<owner>/<repo>'");
@@ -42538,11 +42563,13 @@ var repositories = import_core2.default.getInput("repositories").split(/[\n,]+/)
4253842563
var skipTokenRevoke = Boolean(
4253942564
import_core2.default.getInput("skip-token-revoke") || import_core2.default.getInput("skip_token_revoke")
4254042565
);
42541-
main(
42566+
var permissions = getPermissionsFromInputs(process.env);
42567+
var main_default = main(
4254242568
appId,
4254342569
privateKey,
4254442570
owner,
4254542571
repositories,
42572+
permissions,
4254642573
import_core2.default,
4254742574
createAppAuth,
4254842575
request_default,

‎package.json

Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "create-github-app-token",
33
"private": true,
44
"type": "module",
5-
"version": "1.11.7",
5+
"version": "1.12.0",
66
"description": "GitHub Action for creating a GitHub App Installation Access Token",
77
"scripts": {
88
"build": "esbuild main.js post.js --bundle --outdir=dist --out-extension:.js=.cjs --platform=node --target=node20.0.0 --packages=bundle",

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.