From 7c226aa17335ce4d3e8802ba98a244b4d3656daf Mon Sep 17 00:00:00 2001 From: Michael Heap Date: Fri, 30 Dec 2022 14:38:18 +0000 Subject: [PATCH 1/2] Move from actions-toolkit to @actions/core --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 4 +- action.yml | 4 + index.js | 188 ++++---- index.test.js | 349 ++++++-------- package-lock.json | 848 +++++++++++++--------------------- package.json | 5 +- 7 files changed, 578 insertions(+), 822 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14c2d15..7dafac4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: - node-version: [14.x, 16.x, 18.x] + node-version: [16.x, 18.x] env: CI: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ebbefc..9812043 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,9 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + - name: Install deps and build + run: npm ci --only=production && npm run build - name: Automatically build action - uses: JasonEtco/build-and-tag-action@v1 + uses: JasonEtco/build-and-tag-action@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/action.yml b/action.yml index bf280a1..6f5659c 100644 --- a/action.yml +++ b/action.yml @@ -7,6 +7,10 @@ branding: icon: check-square color: blue inputs: + token: + description: The GitHub token to use when calling the API + default: ${{ github.token }} + required: false labels: description: "Comma separated list of labels to match" required: true diff --git a/index.js b/index.js index 423ff75..63f0724 100644 --- a/index.js +++ b/index.js @@ -1,109 +1,111 @@ -const { Toolkit } = require("actions-toolkit"); - -Toolkit.run(async (tools) => { - // Process inputs for use later - const mode = tools.inputs.mode; - const count = parseInt(tools.inputs.count, 10); - const allowedLabels = tools.inputs.labels - .split(",") - .map((l) => l.trim()) - .filter((r) => r); - - const exitType = tools.inputs.exit_type || "failure"; - - // Validate inputs - if (tools.inputs.count === "") { - tools.exit.failure(`[count] input is not provided`); - return; - } +const core = require("@actions/core"); +const github = require("@actions/github"); - if (allowedLabels.length === 0) { - tools.exit.failure("[labels] input is empty or not provided"); - return; - } +async function action() { + try { + const token = core.getInput("token", { required: true }); + const octokit = github.getOctokit(token); - const allowedModes = ["exactly", "minimum", "maximum"]; - if (!allowedModes.includes(mode)) { - tools.exit.failure( - `Unknown mode input [${mode}]. Must be one of: ${allowedModes.join(", ")}` - ); - return; - } + // Process inputs for use later + const mode = core.getInput("mode", { required: true }); + const count = parseInt(core.getInput("count", { required: true }), 10); + const allowedLabels = core + .getInput("labels", { required: true }) + .split(",") + .map((l) => l.trim()) + .filter((r) => r); - const allowedExitCodes = ["success", "neutral", "failure"]; - if (!allowedExitCodes.includes(exitType)) { - tools.exit.failure( - `Unknown exit_code input [${exitType}]. Must be one of: ${allowedExitCodes.join( - ", " - )}` - ); - return; - } + const exitType = core.getInput("exit_type") || "failure"; + const shouldAddComment = core.getInput("add_comment") == "true"; - // If a token is provided, call the API, otherwise read the event.json file - let labels; - if (process.env.GITHUB_TOKEN) { - labels = (await tools.github.issues.listLabelsOnIssue(tools.context.issue)) - .data; - } else { - labels = tools.context.payload.pull_request.labels; - } + const allowedModes = ["exactly", "minimum", "maximum"]; + if (!allowedModes.includes(mode)) { + await exitWithError( + exitType, + octokit, + shouldAddComment, + `Unknown mode input [${mode}]. Must be one of: ${allowedModes.join( + ", " + )}` + ); + return; + } + + const allowedExitCodes = ["success", "failure"]; + if (!allowedExitCodes.includes(exitType)) { + await exitWithError( + exitType, + octokit, + shouldAddComment, + `Unknown exit_code input [${exitType}]. Must be one of: ${allowedExitCodes.join( + ", " + )}` + ); + return; + } + + // Fetch the labels using the API + // We use the API rather than read event.json in case earlier steps + // added a label + const labels = ( + await octokit.rest.issues.listLabelsOnIssue({ + ...github.context.repo, + issue_number: github.context.issue.number, + }) + ).data; - const appliedLabels = labels.map((label) => label.name); + const appliedLabels = labels.map((label) => label.name); - // How many labels overlap? - let intersection = allowedLabels.filter((x) => appliedLabels.includes(x)); + // How many labels overlap? + let intersection = allowedLabels.filter((x) => appliedLabels.includes(x)); - if (mode === "exactly" && intersection.length !== count) { - await exitWithError( - tools, - exitType, - `Label error. Requires exactly ${count} of: ${allowedLabels.join( + // Is there an error? + let errorMode; + if (mode === "exactly" && intersection.length !== count) { + errorMode = "exactly"; + } else if (mode === "minimum" && intersection.length < count) { + errorMode = "at least"; + } else if (mode === "maximum" && intersection.length > count) { + errorMode = "at most"; + } + + // If so, add a comment (if enabled) and fail the run + if (errorMode !== undefined) { + const errorMessage = `Label error. Requires ${errorMode} ${count} of: ${allowedLabels.join( ", " - )}. Found: ${appliedLabels.join(", ")}` - ); - return; + )}. Found: ${appliedLabels.join(", ")}`; + await exitWithError(exitType, octokit, shouldAddComment, errorMessage); + return; + } + + core.setOutput("status", "success"); + } catch (e) { + core.setFailed(e.message); } +} - if (mode === "minimum" && intersection.length < count) { - await exitWithError( - tools, - exitType, - `Label error. Requires at least ${count} of: ${allowedLabels.join( - ", " - )}. Found: ${appliedLabels.join(", ")}` - ); - return; +async function exitWithError(exitType, octokit, shouldAddComment, message) { + if (shouldAddComment) { + await octokit.rest.issues.createComment({ + ...github.context.repo, + issue_number: github.context.issue.number, + body: message, + }); } - if (mode === "maximum" && intersection.length > count) { - await exitWithError( - tools, - exitType, - `Label error. Requires at most ${count} of: ${allowedLabels.join( - ", " - )}. Found: ${appliedLabels.join(", ")}` - ); + core.setOutput("status", "failure"); + + if (exitType === "success") { + core.warning(message); return; } - tools.outputs.status = "success"; - tools.exit.success("Complete"); -}); - -async function exitWithError(tools, exitType, message) { - if (tools.inputs.add_comment == "true") { - if (process.env.GITHUB_TOKEN) { - await tools.github.issues.createComment({ - ...tools.context.issue, - body: message, - }); - } else { - throw new Error( - "The GITHUB_TOKEN environment variable must be set to add a comment" - ); - } - } - tools.outputs.status = "failure"; - tools.exit[exitType](message); + core.setFailed(message); +} + +/* istanbul ignore next */ +if (require.main === module) { + action(); } + +module.exports = action; diff --git a/index.test.js b/index.test.js index 83990d8..0b365f1 100644 --- a/index.test.js +++ b/index.test.js @@ -1,20 +1,12 @@ -const { Toolkit } = require("actions-toolkit"); +const action = require("."); const core = require("@actions/core"); +const github = require("@actions/github"); + const mockedEnv = require("mocked-env"); const nock = require("nock"); nock.disableNetConnect(); describe("Required Labels", () => { - let action, tools; - - // Mock Toolkit.run to define `action` so we can call it - Toolkit.run = jest.fn((actionFn) => { - action = actionFn; - }); - - // Load up our entrypoint file - require("."); - let restore; let restoreTest; beforeEach(() => { @@ -27,19 +19,12 @@ describe("Required Labels", () => { GITHUB_SHA: "e21490305ed7ac0897b7c7c54c88bb47f7a6d6c4", GITHUB_EVENT_NAME: "", GITHUB_EVENT_PATH: "", + INPUT_TOKEN: "this_is_invalid", }); - tools = new Toolkit(); - tools.context.loadPerTestEnv = function () { - this.payload = process.env.GITHUB_EVENT_PATH - ? require(process.env.GITHUB_EVENT_PATH) - : {}; - this.event = process.env.GITHUB_EVENT_NAME; - }; - tools.exit.success = jest.fn(); - tools.exit.failure = jest.fn(); - tools.exit.neutral = jest.fn(); core.setOutput = jest.fn(); + core.warning = jest.fn(); + core.setFailed = jest.fn(); }); afterEach(() => { @@ -59,47 +44,41 @@ describe("Required Labels", () => { describe("interacts with the API", () => { it("fetches the labels from the API", async () => { - restoreTest = mockPr(tools, [], { + restoreTest = mockPr({ INPUT_LABELS: "enhancement", INPUT_MODE: "exactly", INPUT_COUNT: "1", GITHUB_TOKEN: "mock-token-here-abc", }); - nock("https://api.github.com") - .get("/repos/mheap/missing-repo/issues/28/labels") - .reply(200, [{ name: "enhancement" }, { name: "bug" }]); + mockLabels(["enhancement", "bug"]); - await action(tools); + await action(); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "success"); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); }); it("fetches the labels from the API (and fails)", async () => { - restoreTest = mockPr(tools, ["enhancement"], { + restoreTest = mockPr({ INPUT_LABELS: "enhancement", INPUT_MODE: "exactly", INPUT_COUNT: "1", GITHUB_TOKEN: "mock-token-here-abc", }); - nock("https://api.github.com") - .get("/repos/mheap/missing-repo/issues/28/labels") - .reply(200, [{ name: "bug" }]); + mockLabels(["bug"]); - await action(tools); + await action(); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "failure"); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires exactly 1 of: enhancement. Found: bug" ); }); it("posts a comment when enabled", async () => { - restoreTest = mockPr(tools, ["enhancement"], { + restoreTest = mockPr({ INPUT_LABELS: "enhancement", INPUT_MODE: "exactly", INPUT_COUNT: "1", @@ -107,9 +86,7 @@ describe("Required Labels", () => { GITHUB_TOKEN: "mock-token-here-abc", }); - nock("https://api.github.com") - .get("/repos/mheap/missing-repo/issues/28/labels") - .reply(200, [{ name: "bug" }]); + mockLabels(["bug"]); nock("https://api.github.com") .post("/repos/mheap/missing-repo/issues/28/comments", { @@ -117,302 +94,269 @@ describe("Required Labels", () => { }) .reply(201); - await action(tools); - expect(tools.exit.failure).toBeCalledWith( - "Label error. Requires exactly 1 of: enhancement. Found: bug" - ); + await action(); }); }); describe("success", () => { - it("exact count", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement"], { + it("exact count", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", }); + mockLabels(["enhancement"]); + + await action(); - action(tools); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "success"); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); }); - it("at least X", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "triage"], { + it("at least X", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug,triage", INPUT_MODE: "minimum", INPUT_COUNT: "2", }); + mockLabels(["enhancement", "bug"]); + + await action(); - action(tools); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "success"); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); }); - it("at most X", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "triage"], { + it("at most X", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug,triage", INPUT_MODE: "maximum", INPUT_COUNT: "2", }); - action(tools); + mockLabels(["enhancement", "bug"]); + + await action(); + expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "success"); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); }); }); describe("failure", () => { - it("exact count", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "bug"], { + it("exact count", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", }); + mockLabels(["enhancement", "bug"]); + + await action(); - action(tools); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "failure"); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" ); }); - it("at least X", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement"], { + it("at least X", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug,triage", INPUT_MODE: "minimum", INPUT_COUNT: "2", }); + mockLabels(["enhancement"]); + + await action(); - action(tools); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "failure"); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires at least 2 of: enhancement, bug, triage. Found: enhancement" ); }); - it("at most X", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "triage", "bug"], { + it("at most X", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug,triage", INPUT_MODE: "maximum", INPUT_COUNT: "2", }); + mockLabels(["enhancement", "triage", "bug"]); - action(tools); + await action(); expect(core.setOutput).toBeCalledTimes(1); expect(core.setOutput).toBeCalledWith("status", "failure"); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires at most 2 of: enhancement, bug, triage. Found: enhancement, triage, bug" ); }); }); describe("validation", () => { - it("missing INPUT_COUNT", () => { - restoreTest = mockPr(tools, [], { + it("missing INPUT_MODE", async () => { + restoreTest = mockPr({}); + + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( + "Input required and not supplied: mode" + ); + }); + + it("missing INPUT_COUNT", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", }); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( - "[count] input is not provided" + + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( + "Input required and not supplied: count" ); }); - it("missing INPUT_LABELS", () => { - restoreTest = mockPr(tools, [], { + it("missing INPUT_LABELS", async () => { + restoreTest = mockPr({ INPUT_MODE: "exactly", INPUT_COUNT: "1", }); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( - "[labels] input is empty or not provided" + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( + "Input required and not supplied: labels" ); }); - it("unknown mode", () => { - restoreTest = mockPr(tools, [], { + it("unknown mode", async () => { + restoreTest = mockPr({ INPUT_MODE: "bananas", INPUT_LABELS: "enhancement,bug", INPUT_COUNT: "1", }); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Unknown mode input [bananas]. Must be one of: exactly, minimum, maximum" ); }); - it("unknown exit_code", () => { - restoreTest = mockPr(tools, [], { + it("unknown exit_code", async () => { + restoreTest = mockPr({ INPUT_MODE: "exactly", INPUT_LABELS: "enhancement,bug", INPUT_COUNT: "1", INPUT_EXIT_TYPE: "other", }); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( - "Unknown exit_code input [other]. Must be one of: success, neutral, failure" + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( + "Unknown exit_code input [other]. Must be one of: success, failure" ); }); }); describe("data integrity", () => { - it("supports spaces in INPUT_LABELS", () => { - restoreTest = mockPr(tools, ["enhancement"], { - INPUT_LABELS: "enhancement , bug", - INPUT_MODE: "exactly", - INPUT_COUNT: "1", - }); - - action(tools); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); - }); - - it("fetches labels from the API when provided with a GITHUB_TOKEN", async () => { - tools.github.issues.listLabelsOnIssue = jest - .fn() - .mockReturnValue(Promise.resolve({ data: [{ name: "enhancement" }] })); - - restoreTest = mockPr(tools, ["should_not_be_used"], { - GITHUB_TOKEN: "this_is_a_test_token", + it("supports spaces in INPUT_LABELS", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement , bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", }); + mockLabels(["bug"]); - await action(tools); - - expect(tools.github.issues.listLabelsOnIssue).toBeCalledTimes(1); - expect(tools.github.issues.listLabelsOnIssue).toBeCalledWith({ - issue_number: 28, - owner: "mheap", - repo: "missing-repo", - }); - - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith("Complete"); + await action(); + expect(core.setOutput).toBeCalledTimes(1); + expect(core.setOutput).toBeCalledWith("status", "success"); }); }); describe("configurable exit code", () => { - it("defaults to failure", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "bug"], { + it("defaults to failure", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", }); + mockLabels(["enhancement", "bug"]); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + await action(); + + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" ); }); - it("explicitly uses failure", () => { - restoreTest = mockPr(tools, ["enhancement", "bug"], { + it("explicitly uses failure", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", INPUT_EXIT_TYPE: "failure", }); + mockLabels(["enhancement", "bug"]); + + await action(); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" ); }); - it("explicitly uses success", () => { - restoreTest = mockPr(tools, ["enhancement", "bug"], { + it("explicitly uses success", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", INPUT_EXIT_TYPE: "success", }); + mockLabels(["enhancement", "bug"]); - action(tools); - expect(tools.exit.success).toBeCalledTimes(1); - expect(tools.exit.success).toBeCalledWith( - "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" - ); - }); - - it("explicitly uses neutral", () => { - restoreTest = mockPr(tools, ["enhancement", "bug"], { - INPUT_LABELS: "enhancement,bug", - INPUT_MODE: "exactly", - INPUT_COUNT: "1", - INPUT_EXIT_TYPE: "neutral", - }); + await action(); - action(tools); - expect(tools.exit.neutral).toBeCalledTimes(1); - expect(tools.exit.neutral).toBeCalledWith( + expect(core.warning).toBeCalledTimes(1); + expect(core.warning).toBeCalledWith( "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" ); }); }); describe("add comment", () => { - it("does not add a comment when add_comment is false", () => { - // Create a new Toolkit instance - restoreTest = mockPr(tools, ["enhancement", "bug"], { + it("does not add a comment when add_comment is false", async () => { + restoreTest = mockPr({ INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", INPUT_COUNT: "1", INPUT_ADD_COMMENT: "false", }); + mockLabels(["enhancement", "bug"]); - action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( - "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" - ); - }); - - it("throws an error when add_comment == true and GITHUB_TOKEN is not set", () => { - restoreTest = mockPr(tools, ["enhancement", "bug"], { - INPUT_LABELS: "enhancement,bug", - INPUT_MODE: "exactly", - INPUT_COUNT: "1", - INPUT_ADD_COMMENT: "true", - }); + await action(); - expect(action(tools)).rejects.toThrow( - "The GITHUB_TOKEN environment variable must be set to add a comment" + expect(core.setFailed).toBeCalledTimes(1); + expect(core.setFailed).toBeCalledWith( + "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" ); }); it("adds a comment when add_comment is true", async () => { - restoreTest = mockPr(tools, ["enhancement", "bug"], { + restoreTest = mockPr({ GITHUB_TOKEN: "abc123", INPUT_LABELS: "enhancement,bug", INPUT_MODE: "exactly", @@ -420,9 +364,7 @@ describe("Required Labels", () => { INPUT_ADD_COMMENT: "true", }); - nock("https://api.github.com") - .get("/repos/mheap/missing-repo/issues/28/labels") - .reply(200, [{ name: "enhancement" }, { name: "bug" }]); + mockLabels(["enhancement", "bug"]); nock("https://api.github.com") .post("/repos/mheap/missing-repo/issues/28/comments", { @@ -430,42 +372,38 @@ describe("Required Labels", () => { }) .reply(201); - await action(tools); - expect(tools.exit.failure).toBeCalledTimes(1); - expect(tools.exit.failure).toBeCalledWith( - "Label error. Requires exactly 1 of: enhancement, bug. Found: enhancement, bug" - ); + await action(); }); }); }); -function mockPr(tools, labels, env) { +function mockPr(env) { return mockEvent( - tools, "pull_request", { action: "opened", pull_request: { number: 28, - labels: labels.map((name) => { - return { name }; - }), + labels: [], }, }, env ); } -function mockEvent(tools, eventName, mockPayload, additionalParams = {}) { - jest.mock( - "/github/workspace/event.json", - () => { - return mockPayload; - }, - { - virtual: true, - } - ); +function mockLabels(labels) { + nock("https://api.github.com") + .get("/repos/mheap/missing-repo/issues/28/labels") + .reply( + 200, + labels.map((name) => { + return { name }; + }) + ); +} + +function mockEvent(eventName, mockPayload, additionalParams = {}) { + github.context.payload = mockPayload; const params = { GITHUB_EVENT_NAME: eventName, @@ -474,6 +412,5 @@ function mockEvent(tools, eventName, mockPayload, additionalParams = {}) { }; const r = mockedEnv(params); - tools.context.loadPerTestEnv(); return r; } diff --git a/package-lock.json b/package-lock.json index 169f79d..37563d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,32 +7,75 @@ "name": "github-action-required-labels", "license": "MIT", "dependencies": { - "actions-toolkit": "^6.0.1", - "mocked-env": "^1.3.5" + "@actions/core": "^1.10.0", + "@actions/github": "^5.1.1" }, "devDependencies": { "jest": "^28.1.1", + "mocked-env": "^1.3.5", "nock": "^13.2.9", "prettier": "^2.7.1" } }, "node_modules/@actions/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", - "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" } }, - "node_modules/@actions/exec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", - "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", + "node_modules/@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dependencies": { - "@actions/io": "^1.0.1" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "dependencies": { + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" } }, + "node_modules/@actions/github/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@actions/github/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "node_modules/@actions/http-client": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", @@ -41,11 +84,6 @@ "tunnel": "^0.0.6" } }, - "node_modules/@actions/io": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", - "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" - }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -1318,17 +1356,26 @@ } }, "node_modules/@octokit/auth-token": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz", - "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dependencies": { - "@octokit/types": "^5.0.0" + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/auth-token/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@octokit/core": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz", "integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==", + "peer": true, "dependencies": { "@octokit/auth-token": "^2.4.0", "@octokit/graphql": "^4.3.1", @@ -1349,81 +1396,104 @@ } }, "node_modules/@octokit/graphql": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.1.tgz", - "integrity": "sha512-qgMsROG9K2KxDs12CO3bySJaYoUu2aic90qpFrv7A8sEBzZ7UFGvdgPKiLw5gOPYEYbS0Xf8Tvf84tJutHPulQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dependencies": { - "@octokit/request": "^5.3.0", - "@octokit/types": "^5.0.0", - "universal-user-agent": "^5.0.0" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.2.tgz", - "integrity": "sha512-3OO/SjB5BChRTVRRQcZzpL0ZGcDGEB2dBzNhfqVqqMs6WDwo7cYW8cDwxqW8+VvA78mDK/abXgR/UrYg4HqrQg==", + "node_modules/@octokit/graphql/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { - "@octokit/types": "^5.0.0" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", - "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==" + "node_modules/@octokit/graphql/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz", - "integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==", + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dependencies": { - "@octokit/types": "^4.1.6", - "deprecation": "^2.3.1" + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz", - "integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==", + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { - "@types/node": ">= 8" + "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@octokit/request": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.5.tgz", - "integrity": "sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dependencies": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^5.0.0", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^5.0.0" + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz", - "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dependencies": { - "@octokit/types": "^5.0.1", + "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" } }, - "node_modules/@octokit/rest": { - "version": "17.11.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz", - "integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==", + "node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { - "@octokit/core": "^2.4.3", - "@octokit/plugin-paginate-rest": "^2.2.0", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.17.0" + "@octokit/openapi-types": "^12.11.0" } }, + "node_modules/@octokit/request/node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@octokit/request/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@octokit/request/node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "node_modules/@octokit/types": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.0.1.tgz", @@ -1497,11 +1567,6 @@ "@babel/types": "^7.3.0" } }, - "node_modules/@types/flat-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz", - "integrity": "sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww==" - }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -1535,11 +1600,6 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=" - }, "node_modules/@types/node": { "version": "14.0.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", @@ -1551,14 +1611,6 @@ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, - "node_modules/@types/signale": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/signale/-/signale-1.4.1.tgz", - "integrity": "sha512-05d9fUDqRnt36rizLgo38SbPTrkMzdhXpvSHSAhxzokgIUPGNUoXHV0zYjPpTd4IryDADJ0mGHpfJ/Yhjyh9JQ==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -1580,33 +1632,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/actions-toolkit": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/actions-toolkit/-/actions-toolkit-6.0.1.tgz", - "integrity": "sha512-a/ZA0+qY8YSUrzm0yLspLGFwmDG5uRJ8YaESD3Nlxi7u+pCWasxpChLYa/hlGkLt69I58VcdJKx7d9A+7kqoew==", - "dependencies": { - "@actions/core": "^1.2.4", - "@actions/exec": "^1.0.4", - "@octokit/rest": "^17.9.0", - "@types/flat-cache": "^2.0.0", - "@types/minimist": "^1.2.0", - "@types/signale": "^1.4.1", - "enquirer": "^2.3.5", - "minimist": "^1.2.5", - "signale": "^1.4.0" - }, - "bin": { - "actions-toolkit": "bin/cli.js" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1635,6 +1660,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -1832,9 +1858,9 @@ "dev": true }, "node_modules/before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -1940,6 +1966,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1962,6 +1989,7 @@ "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, "engines": { "node": ">= 0.8.0" } @@ -2009,6 +2037,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -2016,7 +2045,8 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", @@ -2052,6 +2082,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -2134,21 +2165,11 @@ "once": "^1.4.0" } }, - "node_modules/enquirer": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", - "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", - "dependencies": { - "ansi-colors": "^3.2.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -2166,6 +2187,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, "engines": { "node": ">=0.8.0" } @@ -2240,17 +2262,6 @@ "bser": "2.1.1" } }, - "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2263,17 +2274,6 @@ "node": ">=8" } }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2370,7 +2370,8 @@ "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true }, "node_modules/has": { "version": "1.0.3", @@ -2388,6 +2389,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, "engines": { "node": ">=4" } @@ -2454,7 +2456,8 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "node_modules/is-core-module": { "version": "2.9.0", @@ -4476,11 +4479,6 @@ "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -4518,6 +4516,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, "engines": { "node": "> 0.8" } @@ -4537,32 +4536,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -4662,15 +4635,11 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, "node_modules/mocked-env": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/mocked-env/-/mocked-env-1.3.5.tgz", "integrity": "sha512-GyYY6ynVOdEoRlaGpaq8UYwdWkvrsU2xRme9B+WPSuJcNjh17+3QIxSYU6zwee0SbehhV6f06VZ4ahjG+9zdrA==", + "dev": true, "dependencies": { "check-more-types": "2.24.0", "debug": "4.3.2", @@ -4684,7 +4653,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", @@ -4825,56 +4795,6 @@ "node": ">=4" } }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "engines": { - "node": ">=4" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -4916,14 +4836,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } - }, "node_modules/pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", @@ -4933,18 +4845,6 @@ "node": ">= 6" } }, - "node_modules/pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "dependencies": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -5103,7 +5003,8 @@ "node_modules/ramda": { "version": "0.27.1", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", - "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==" + "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", + "dev": true }, "node_modules/react-is": { "version": "18.2.0", @@ -5220,19 +5121,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/signale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", - "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", - "dependencies": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -5333,14 +5221,6 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "engines": { - "node": ">=4" - } - }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -5374,6 +5254,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -5696,20 +5577,61 @@ }, "dependencies": { "@actions/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", - "integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "requires": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" } }, - "@actions/exec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz", - "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==", + "@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", "requires": { - "@actions/io": "^1.0.1" + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + }, + "dependencies": { + "@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "requires": { + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + } } }, "@actions/http-client": { @@ -5720,11 +5642,6 @@ "tunnel": "^0.0.6" } }, - "@actions/io": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz", - "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg==" - }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -6686,17 +6603,28 @@ } }, "@octokit/auth-token": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz", - "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "requires": { - "@octokit/types": "^5.0.0" + "@octokit/types": "^6.0.3" + }, + "dependencies": { + "@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + } } }, "@octokit/core": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz", "integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==", + "peer": true, "requires": { "@octokit/auth-token": "^2.4.0", "@octokit/graphql": "^4.3.1", @@ -6717,81 +6645,104 @@ } }, "@octokit/graphql": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.1.tgz", - "integrity": "sha512-qgMsROG9K2KxDs12CO3bySJaYoUu2aic90qpFrv7A8sEBzZ7UFGvdgPKiLw5gOPYEYbS0Xf8Tvf84tJutHPulQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "requires": { - "@octokit/request": "^5.3.0", - "@octokit/types": "^5.0.0", - "universal-user-agent": "^5.0.0" - } - }, - "@octokit/plugin-paginate-rest": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.2.tgz", - "integrity": "sha512-3OO/SjB5BChRTVRRQcZzpL0ZGcDGEB2dBzNhfqVqqMs6WDwo7cYW8cDwxqW8+VvA78mDK/abXgR/UrYg4HqrQg==", - "requires": { - "@octokit/types": "^5.0.0" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + } } }, - "@octokit/plugin-request-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", - "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==" + "@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz", - "integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==", + "@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "requires": { - "@octokit/types": "^4.1.6", - "deprecation": "^2.3.1" + "@octokit/types": "^6.40.0" }, "dependencies": { "@octokit/types": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz", - "integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==", + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "requires": { - "@types/node": ">= 8" + "@octokit/openapi-types": "^12.11.0" } } } }, "@octokit/request": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.5.tgz", - "integrity": "sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "requires": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^5.0.0", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^5.0.0" + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + } } }, "@octokit/request-error": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz", - "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "requires": { - "@octokit/types": "^5.0.1", + "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "17.11.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz", - "integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==", - "requires": { - "@octokit/core": "^2.4.3", - "@octokit/plugin-paginate-rest": "^2.2.0", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.17.0" + }, + "dependencies": { + "@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "requires": { + "@octokit/openapi-types": "^12.11.0" + } + } } }, "@octokit/types": { @@ -6867,11 +6818,6 @@ "@babel/types": "^7.3.0" } }, - "@types/flat-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz", - "integrity": "sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww==" - }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -6905,11 +6851,6 @@ "@types/istanbul-lib-report": "*" } }, - "@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=" - }, "@types/node": { "version": "14.0.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", @@ -6921,14 +6862,6 @@ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, - "@types/signale": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/signale/-/signale-1.4.1.tgz", - "integrity": "sha512-05d9fUDqRnt36rizLgo38SbPTrkMzdhXpvSHSAhxzokgIUPGNUoXHV0zYjPpTd4IryDADJ0mGHpfJ/Yhjyh9JQ==", - "requires": { - "@types/node": "*" - } - }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -6950,27 +6883,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "actions-toolkit": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/actions-toolkit/-/actions-toolkit-6.0.1.tgz", - "integrity": "sha512-a/ZA0+qY8YSUrzm0yLspLGFwmDG5uRJ8YaESD3Nlxi7u+pCWasxpChLYa/hlGkLt69I58VcdJKx7d9A+7kqoew==", - "requires": { - "@actions/core": "^1.2.4", - "@actions/exec": "^1.0.4", - "@octokit/rest": "^17.9.0", - "@types/flat-cache": "^2.0.0", - "@types/minimist": "^1.2.0", - "@types/signale": "^1.4.1", - "enquirer": "^2.3.5", - "minimist": "^1.2.5", - "signale": "^1.4.0" - } - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -6990,6 +6902,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -7141,9 +7054,9 @@ "dev": true }, "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "brace-expansion": { "version": "1.1.11", @@ -7214,6 +7127,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -7229,7 +7143,8 @@ "check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==" + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true }, "ci-info": { "version": "3.3.2", @@ -7270,6 +7185,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -7277,7 +7193,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "concat-map": { "version": "0.0.1", @@ -7310,6 +7227,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -7369,18 +7287,11 @@ "once": "^1.4.0" } }, - "enquirer": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", - "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", - "requires": { - "ansi-colors": "^3.2.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -7394,7 +7305,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "esprima": { "version": "4.0.1", @@ -7450,14 +7362,6 @@ "bser": "2.1.1" } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -7467,14 +7371,6 @@ "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7543,7 +7439,8 @@ "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true }, "has": { "version": "1.0.3", @@ -7557,7 +7454,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "html-escaper": { "version": "2.0.2", @@ -7606,7 +7504,8 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-core-module": { "version": "2.9.0", @@ -9087,11 +8986,6 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -9119,7 +9013,8 @@ "lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==" + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true }, "leven": { "version": "3.1.0", @@ -9133,26 +9028,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -9230,15 +9105,11 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, "mocked-env": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/mocked-env/-/mocked-env-1.3.5.tgz", "integrity": "sha512-GyYY6ynVOdEoRlaGpaq8UYwdWkvrsU2xRme9B+WPSuJcNjh17+3QIxSYU6zwee0SbehhV6f06VZ4ahjG+9zdrA==", + "dev": true, "requires": { "check-more-types": "2.24.0", "debug": "4.3.2", @@ -9249,7 +9120,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -9360,41 +9232,6 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -9424,26 +9261,12 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, "pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true }, - "pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - } - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -9558,7 +9381,8 @@ "ramda": { "version": "0.27.1", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", - "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==" + "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", + "dev": true }, "react-is": { "version": "18.2.0", @@ -9642,16 +9466,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "signale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", - "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", - "requires": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - } - }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -9733,11 +9547,6 @@ "ansi-regex": "^5.0.1" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -9759,6 +9568,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } diff --git a/package.json b/package.json index 223af2c..cda72c6 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,12 @@ "lint:fix": "prettier --write ." }, "dependencies": { - "actions-toolkit": "^6.0.1", - "mocked-env": "^1.3.5" + "@actions/core": "^1.10.0", + "@actions/github": "^5.1.1" }, "devDependencies": { "jest": "^28.1.1", + "mocked-env": "^1.3.5", "nock": "^13.2.9", "prettier": "^2.7.1" }, From f07c85a155b50fd1e941bc794561a9320caa4ea0 Mon Sep 17 00:00:00 2001 From: Michael Heap Date: Fri, 30 Dec 2022 15:06:24 +0000 Subject: [PATCH 2/2] Bump README to v3 --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b006048..634b638 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ jobs: label: runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v2 + - uses: mheap/github-action-required-labels@v3 with: mode: exactly count: 1 @@ -46,7 +46,7 @@ By default this actions reads `event.json`, which will not detect when a label i To force an API call, set the `GITHUB_TOKEN` environment variable like so: ```yaml -- uses: mheap/github-action-required-labels@v2 +- uses: mheap/github-action-required-labels@v3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -58,7 +58,7 @@ To force an API call, set the `GITHUB_TOKEN` environment variable like so: ### Prevent merging if a label exists ```yaml -- uses: mheap/github-action-required-labels@v2 +- uses: mheap/github-action-required-labels@v3 with: mode: exactly count: 0 @@ -68,7 +68,7 @@ To force an API call, set the `GITHUB_TOKEN` environment variable like so: ### Post a comment when the check fails ```yaml -- uses: mheap/github-action-required-labels@v2 +- uses: mheap/github-action-required-labels@v3 with: mode: exactly count: 1 @@ -79,7 +79,7 @@ To force an API call, set the `GITHUB_TOKEN` environment variable like so: ### Require multiple labels ```yaml -- uses: mheap/github-action-required-labels@v2 +- uses: mheap/github-action-required-labels@v3 with: mode: minimum count: 2 @@ -89,7 +89,7 @@ To force an API call, set the `GITHUB_TOKEN` environment variable like so: ### Exit with a neutral result rather than failure ```yaml -- uses: mheap/github-action-required-labels@v2 +- uses: mheap/github-action-required-labels@v3 with: mode: minimum count: 2 @@ -115,7 +115,7 @@ jobs: status: ${{ steps.check-labels.outputs.status }} steps: - id: check-labels - uses: mheap/github-action-required-labels@v2 + uses: mheap/github-action-required-labels@v3 with: mode: exactly count: 1