From c22378ee795a9b5ec2eb0072da2ba3fb48bac810 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Sun, 26 Mar 2023 13:28:53 +0200 Subject: [PATCH 1/3] chore(deps): update @actions/github to 5.1.1 --- package-lock.json | 174 +++++++++++++++++++++------------------------- 1 file changed, 78 insertions(+), 96 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d211b8..82d02e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,31 +28,23 @@ "uuid": "^8.3.2" } }, - "node_modules/@actions/core/node_modules/@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", - "dependencies": { - "tunnel": "^0.0.6" - } - }, "node_modules/@actions/github": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz", - "integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==", + "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": "^1.0.11", - "@octokit/core": "^3.4.0", - "@octokit/plugin-paginate-rest": "^2.13.3", - "@octokit/plugin-rest-endpoint-methods": "^5.1.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" } }, "node_modules/@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", "dependencies": { - "tunnel": "0.0.6" + "tunnel": "^0.0.6" } }, "node_modules/@babel/code-frame": { @@ -873,13 +865,13 @@ } }, "node_modules/@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dependencies": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", @@ -907,16 +899,16 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==" + "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-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "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": "^6.11.0" + "@octokit/types": "^6.40.0" }, "peerDependencies": { "@octokit/core": ">=2" @@ -932,11 +924,11 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.1.1.tgz", - "integrity": "sha512-u4zy0rVA8darm/AYsIeWkRalhQR99qPL1D/EXHejV2yaECMdHfxXiTXtba8NMBSajOJe8+C9g+EqMKSvysx0dg==", + "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.14.1", + "@octokit/types": "^6.39.0", "deprecation": "^2.3.1" }, "peerDependencies": { @@ -944,22 +936,22 @@ } }, "node_modules/@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", + "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": "^6.7.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "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": "^6.0.3", "deprecation": "^2.0.0", @@ -1147,11 +1139,11 @@ } }, "node_modules/@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", + "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": "^7.0.0" + "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@pnpm/network.ca-file": { @@ -8520,35 +8512,25 @@ "requires": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" - }, - "dependencies": { - "@actions/http-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", - "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", - "requires": { - "tunnel": "^0.0.6" - } - } } }, "@actions/github": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz", - "integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", "requires": { - "@actions/http-client": "^1.0.11", - "@octokit/core": "^3.4.0", - "@octokit/plugin-paginate-rest": "^2.13.3", - "@octokit/plugin-rest-endpoint-methods": "^5.1.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" } }, "@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", "requires": { - "tunnel": "0.0.6" + "tunnel": "^0.0.6" } }, "@babel/code-frame": { @@ -9238,13 +9220,13 @@ } }, "@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", + "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.4.12", + "@octokit/request": "^5.6.3", "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", @@ -9272,16 +9254,16 @@ } }, "@octokit/openapi-types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz", - "integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==" + "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-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "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": "^6.11.0" + "@octokit/types": "^6.40.0" } }, "@octokit/plugin-request-log": { @@ -9292,31 +9274,31 @@ "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.1.1.tgz", - "integrity": "sha512-u4zy0rVA8darm/AYsIeWkRalhQR99qPL1D/EXHejV2yaECMdHfxXiTXtba8NMBSajOJe8+C9g+EqMKSvysx0dg==", + "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.14.1", + "@octokit/types": "^6.39.0", "deprecation": "^2.3.1" } }, "@octokit/request": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", - "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", + "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": "^6.7.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "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": "^6.0.3", "deprecation": "^2.0.0", @@ -9477,11 +9459,11 @@ } }, "@octokit/types": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz", - "integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==", + "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": "^7.0.0" + "@octokit/openapi-types": "^12.11.0" } }, "@pnpm/network.ca-file": { From d79d5ddf7740785019da659dfb921cbe37d50af3 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Sun, 26 Mar 2023 13:13:12 +0200 Subject: [PATCH 2/3] feat: support packages for a user --- action.yml | 5 +++++ actions.js | 10 ++++++--- utils.js | 62 ++++++++++++++++++++++++++++++++++----------------- utils.test.js | 1 + 4 files changed, 54 insertions(+), 24 deletions(-) diff --git a/action.yml b/action.yml index 6827cba..ed3c094 100644 --- a/action.yml +++ b/action.yml @@ -40,6 +40,11 @@ inputs: Delete all untagged images older than N in days. required: false + is_user: + description: > + Set true if the owner is a user and not an organization. + required: false + runs: using: "node16" main: "dist/index.js" diff --git a/actions.js b/actions.js index 7255cef..8b40d25 100644 --- a/actions.js +++ b/actions.js @@ -8,7 +8,8 @@ async function deleteByTag(config, octokit) { octokit, config.owner, config.name, - config.tag + config.tag, + config.is_user ); core.info(`🆔 package id is #${packageVersion.id}, delete it...`); @@ -17,7 +18,8 @@ async function deleteByTag(config, octokit) { octokit, config.owner, config.name, - packageVersion.id + packageVersion.id, + config.is_user ); core.info(`✅ package #${packageVersion.id} deleted.`); @@ -30,6 +32,7 @@ async function deleteUntaggedOrderGreaterThan(config, octokit) { octokit, config.owner, config.name, + config.is_user, config.untaggedKeepLatest ); @@ -41,7 +44,8 @@ async function deleteUntaggedOrderGreaterThan(config, octokit) { octokit, config.owner, config.name, - pkg.id + pkg.id, + config.is_user ); } catch (error) { core.info(`⚠️ package #${pkg.id} not deleted: ${error.message}`); diff --git a/utils.js b/utils.js index f016428..bde83cf 100644 --- a/utils.js +++ b/utils.js @@ -1,4 +1,5 @@ const core = require("@actions/core"); +const { getOctokitOptions } = require("@actions/github/lib/utils"); /** * Parse input from env. @@ -10,6 +11,9 @@ let getConfig = function () { name: core.getInput("name", { required: true }), token: core.getInput("token", { required: true }), + // optional + is_user: core.getInput("is_user"), + // optional, mutual exclusive options tag: core.getInput("tag") || null, untaggedKeepLatest: core.getInput("untagged-keep-latest") || null, @@ -47,10 +51,10 @@ let getConfig = function () { return config; }; -let findPackageVersionByTag = async function (octokit, owner, name, tag) { +let findPackageVersionByTag = async function (octokit, owner, name, tag, is_user) { const tags = new Set(); - for await (const pkgVer of iteratePackageVersions(octokit, owner, name)) { + for await (const pkgVer of iteratePackageVersions(octokit, owner, name, is_user)) { const versionTags = pkgVer.metadata.container.tags; if (versionTags.includes(tag)) { @@ -73,11 +77,12 @@ let findPackageVersionsUntaggedOrderGreaterThan = async function ( octokit, owner, name, + is_user, n ) { const pkgs = []; - for await (const pkgVer of iteratePackageVersions(octokit, owner, name)) { + for await (const pkgVer of iteratePackageVersions(octokit, owner, name, is_user)) { const versionTags = pkgVer.metadata.container.tags; if (versionTags.length == 0) { pkgs.push(pkgVer); @@ -91,30 +96,45 @@ let findPackageVersionsUntaggedOrderGreaterThan = async function ( return pkgs.slice(n); }; -let iteratePackageVersions = async function* (octokit, owner, name) { - for await (const response of octokit.paginate.iterator( - octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg, - { - package_type: "container", - package_name: name, - org: owner, - state: "active", - per_page: 100, - } - )) { +let iteratePackageVersions = async function* (octokit, owner, name, is_user) { + let getFunc = octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg; + let getParams = { + package_type: "container", + package_name: name, + state: "active", + per_page: 100, + }; + + if (is_user) { + getFunc = octokit.rest.packages.getAllPackageVersionsForPackageOwnedByUser; + getParams.username = owner; + } else { + getParams.org = owner; + } + + for await (const response of octokit.paginate.iterator(getFunc, getParams)) { for (let packageVersion of response.data) { yield packageVersion; } } }; -let deletePackageVersion = async (octokit, owner, name, versionId) => { - await octokit.rest.packages.deletePackageVersionForOrg({ - package_type: "container", - package_name: name, - org: owner, - package_version_id: versionId, - }); +let deletePackageVersion = async (octokit, owner, name, versionId, is_user) => { + if (is_user) { + await octokit.rest.packages.deletePackageVersionForUser({ + package_type: "container", + package_name: name, + username: owner, + package_version_id: versionId, + }); + } else { + await octokit.rest.packages.deletePackageVersionForOrg({ + package_type: "container", + package_name: name, + org: owner, + package_version_id: versionId, + }); + } }; function sleep(ms) { diff --git a/utils.test.js b/utils.test.js index c2c1932..e791b81 100644 --- a/utils.test.js +++ b/utils.test.js @@ -34,6 +34,7 @@ describe("getConfig", () => { }, () => { expect(utils.getConfig()).toStrictEqual({ + is_user: "", owner: "bots-house", name: "ghcr-delete-image-action", token: "some-token", From 3ee00e4789a08fb257e162b5a68934cda7ad96af Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Sun, 26 Mar 2023 13:36:00 +0200 Subject: [PATCH 3/3] docs: update README for is_user --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bc3aecd..af69fd8 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,10 @@ [![CI](https://github.com/bots-house/ghcr-delete-image-action/actions/workflows/ci.yml/badge.svg)](https://github.com/bots-house/ghcr-delete-image-action/actions/workflows/ci.yml) [![wakatime](https://wakatime.com/badge/github/bots-house/ghcr-delete-image-action.svg)](https://wakatime.com/badge/github/bots-house/ghcr-delete-image-action) -Delete image from [Github Container Registry](https://github.com/features/packages) by tag. -Useful for cleanup of pull request scoped images. +Delete image from [Github Container Registry](https://github.com/features/packages) by tag. +Useful for cleanup of pull request scoped images. - -## Usage +## Usage ## Delete image when PR was closed. @@ -26,9 +25,9 @@ jobs: - name: Delete image uses: bots-house/ghcr-delete-image-action@v1.1.0 with: - # NOTE: at now only orgs is supported owner: bots-house name: some-web-service + # is_user: true # Set this if owner is a user and not an org # NOTE: using Personal Access Token token: ${{ secrets.PAT }} tag: pr-${{github.event.pull_request.number}} @@ -53,11 +52,11 @@ jobs: steps: - uses: bots-house/ghcr-delete-image-action@v1.1.0 with: - # NOTE: at now only orgs is supported owner: bots-house name: some-web-service + # is_user: true # Set this if owner is a user and not an org # NOTE: using Personal Access Token token: ${{ secrets.PAT }} # Keep latest N untagged images untagged-keep-latest: 3 -``` \ No newline at end of file +```