mirror of
https://github.com/dessant/lock-threads.git
synced 2026-03-13 01:27:03 -04:00
132
package-lock.json
generated
132
package-lock.json
generated
@@ -11,6 +11,8 @@
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/github": "^5.1.1",
|
||||
"@octokit/plugin-retry": "^4.1.6",
|
||||
"@octokit/plugin-throttling": "^5.2.3",
|
||||
"joi": "^17.9.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -465,6 +467,62 @@
|
||||
"@octokit/core": ">=3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-retry": {
|
||||
"version": "4.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.6.tgz",
|
||||
"integrity": "sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^9.0.0",
|
||||
"bottleneck": "^2.15.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=3"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
|
||||
"integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz",
|
||||
"integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-throttling": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz",
|
||||
"integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^9.0.0",
|
||||
"bottleneck": "^2.15.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
|
||||
"integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz",
|
||||
"integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request": {
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
|
||||
@@ -866,6 +924,11 @@
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
|
||||
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
|
||||
},
|
||||
"node_modules/bottleneck": {
|
||||
"version": "2.19.5",
|
||||
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
|
||||
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
|
||||
},
|
||||
"node_modules/boxen": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.0.tgz",
|
||||
@@ -5787,14 +5850,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tuf-js": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz",
|
||||
"integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==",
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
|
||||
"integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@tufjs/models": "1.0.4",
|
||||
"debug": "^4.3.4",
|
||||
"make-fetch-happen": "^11.1.0"
|
||||
"make-fetch-happen": "^11.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||
@@ -6656,6 +6719,54 @@
|
||||
"deprecation": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-retry": {
|
||||
"version": "4.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.6.tgz",
|
||||
"integrity": "sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==",
|
||||
"requires": {
|
||||
"@octokit/types": "^9.0.0",
|
||||
"bottleneck": "^2.15.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
|
||||
"integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw=="
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz",
|
||||
"integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^18.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/plugin-throttling": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz",
|
||||
"integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==",
|
||||
"requires": {
|
||||
"@octokit/types": "^9.0.0",
|
||||
"bottleneck": "^2.15.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
|
||||
"integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw=="
|
||||
},
|
||||
"@octokit/types": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz",
|
||||
"integrity": "sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw==",
|
||||
"requires": {
|
||||
"@octokit/openapi-types": "^18.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@octokit/request": {
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
|
||||
@@ -6981,6 +7092,11 @@
|
||||
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
|
||||
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
|
||||
},
|
||||
"bottleneck": {
|
||||
"version": "2.19.5",
|
||||
"resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
|
||||
"integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
|
||||
},
|
||||
"boxen": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.0.tgz",
|
||||
@@ -10691,14 +10807,14 @@
|
||||
"dev": true
|
||||
},
|
||||
"tuf-js": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz",
|
||||
"integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==",
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
|
||||
"integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@tufjs/models": "1.0.4",
|
||||
"debug": "^4.3.4",
|
||||
"make-fetch-happen": "^11.1.0"
|
||||
"make-fetch-happen": "^11.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"make-fetch-happen": {
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/github": "^5.1.1",
|
||||
"@octokit/plugin-throttling": "^5.2.3",
|
||||
"@octokit/plugin-retry": "^4.1.6",
|
||||
"joi": "^17.9.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -2,11 +2,12 @@ const core = require('@actions/core');
|
||||
const github = require('@actions/github');
|
||||
|
||||
const schema = require('./schema');
|
||||
const {getClient} = require('./utils');
|
||||
|
||||
async function run() {
|
||||
try {
|
||||
const config = getConfig();
|
||||
const client = github.getOctokit(config['github-token']);
|
||||
const client = getClient(config['github-token']);
|
||||
|
||||
const app = new App(config, client);
|
||||
await app.lockThreads();
|
||||
|
||||
36
src/utils.js
Normal file
36
src/utils.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const core = require('@actions/core');
|
||||
const github = require('@actions/github');
|
||||
const {retry} = require('@octokit/plugin-retry');
|
||||
const {throttling} = require('@octokit/plugin-throttling');
|
||||
|
||||
function getClient(token) {
|
||||
const rateLimitRetries = 3;
|
||||
|
||||
const rateLimitCallback = function (
|
||||
retryAfter,
|
||||
options,
|
||||
octokit,
|
||||
retryCount
|
||||
) {
|
||||
core.info(
|
||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
||||
);
|
||||
|
||||
if (retryCount < rateLimitRetries) {
|
||||
core.info(`Retrying after ${retryAfter} seconds`);
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
const options = {
|
||||
throttle: {
|
||||
onSecondaryRateLimit: rateLimitCallback,
|
||||
onRateLimit: rateLimitCallback
|
||||
}
|
||||
};
|
||||
|
||||
return github.getOctokit(token, options, retry, throttling);
|
||||
}
|
||||
|
||||
module.exports = {getClient};
|
||||
Reference in New Issue
Block a user