Based on https://github.com/SmartsquareGmbH/delete-old-packages
GitHub action for deleting new versions of packages in the GitHub package registry.
This is very similar to actions/delete-package-versions but targets a different use case.
The action works by getting at most 20 packages with at most the newest 100 versions of each, applying the filters (see table below) on them and then deleting the matching versions.
If you have more than 100 versions and none of the 100 newest versions match, no packages will be deleted!
| Name | Description | Required | Default |
|---|---|---|---|
owner |
Owner of the repo containing the package(s) | ❌ | Set by GitHub |
repo |
Repo containing the package(s) | ❌ | Set by GitHub |
user |
User containing the package(s) | ❌ | ❌ |
organization |
Organization containing the package(s) | ❌ | ❌ |
names |
Names of the packages | ✔️ | ❌ |
semver-pattern |
Semver range of the versions | ❌ | ^.+$ |
version-pattern |
Regex pattern of the versions | ❌ | ❌ |
version |
Specific version to delete | ❌ | ❌ |
keep |
Number of versions to exclude from deletions | ❌ | 2 |
token |
Token with the necessary scopes to delete package versions | ❌ | Set by GitHub |
dry-run |
If the action should only print what it would do. | ❌ | false |
⚠️ You can provide eitherownerandrepo,userororganization. An error is thrown for invalid combinations.
⚠️ You can provide eitherversion,semver-patternorversion-pattern. An error is thrown for invalid combinations.
⚠️ keepcan not be set whenversionis set.
Delete new versions of the packages "package-1" and "package-2" for the current repository.
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
names: |
package-1
package-2Delete new versions of the packages "package-1" and "package-2" for the organization "my-organization".
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
organization: my-organization
names: |
package-1
package-2Delete new versions in the form of "1.0.0-RC1" of the package "package".
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
version-pattern: "^\\d+\\.\\d+\\.\\d+-RC\\d+$" # The regex needs to be escaped!
names: |
packageDelete new versions with a lower semver version than 2.x of the package "package".
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
semver-pattern: "<2.x"
names: |
packageDelete new versions of the package "package" but keep at least 5 versions.
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
keep: 5
names: |
packageDelete version
foo-barof the package "package".
uses: smartsquaregmbh/delete-old-packages@v0.3.3
with:
version: foo-bar
names: |
package