Skip to content

Github action for deleting new versions of packages in the Github package registry.

License

Notifications You must be signed in to change notification settings

SimCubeLtd/delete-packages

 
 

Repository files navigation

Delete new packages

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!

Inputs

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 either owner and repo, user or organization. An error is thrown for invalid combinations.

⚠️ You can provide either version, semver-pattern or version-pattern. An error is thrown for invalid combinations.

⚠️ keep can not be set when version is set.

Example usage

Delete new versions of the packages "package-1" and "package-2" for the current repository.

uses: smartsquaregmbh/[email protected]
with:
  names: |
    package-1
    package-2

Delete new versions of the packages "package-1" and "package-2" for the organization "my-organization".

uses: smartsquaregmbh/[email protected]
with:
  organization: my-organization
  names: |
    package-1
    package-2

Delete new versions in the form of "1.0.0-RC1" of the package "package".

uses: smartsquaregmbh/[email protected]
with:
  version-pattern: "^\\d+\\.\\d+\\.\\d+-RC\\d+$" # The regex needs to be escaped!
  names: |
    package

Delete new versions with a lower semver version than 2.x of the package "package".

uses: smartsquaregmbh/[email protected]
with:
  semver-pattern: "<2.x"
  names: |
    package

Delete new versions of the package "package" but keep at least 5 versions.

uses: smartsquaregmbh/[email protected]
with:
  keep: 5
  names: |
    package

Delete version foo-bar of the package "package".

uses: smartsquaregmbh/[email protected]
with:
  version: foo-bar
  names: |
    package

About

Github action for deleting new versions of packages in the Github package registry.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%