2021-11-16 05:34:29 +00:00
2021-11-08 07:55:55 +00:00
2021-10-25 11:35:47 +00:00
2020-01-29 10:13:06 -05:00
2020-02-29 19:33:20 -06:00
2020-02-29 19:33:20 -06:00
2020-08-11 20:07:43 -04:00
2020-01-29 10:13:06 -05:00
2020-01-29 10:13:06 -05:00
2021-06-22 15:28:07 -05:00
2020-01-29 10:13:06 -05:00
2020-01-29 10:13:06 -05:00
2020-02-29 19:33:20 -06:00

Delete Package Versions

This action deletes versions of a package from GitHub Packages.

What It Can Do

  • Delete a single version
  • Delete multiple versions
  • Delete specific version(s)
  • Delete oldest version(s)
  • Delete version(s) of a package that is hosted in the same repo that is executing the workflow
  • Delete version(s) of a package that is hosted in a different repo than the one executing the workflow
  • Specify a minimum number of latest package versions to not get deleted.
  • Ignore some versions based on name and delete remaining versions.
  • Delete all pre-release versions

Usage

- uses: actions/delete-package-versions@v1
  with:
  # Can be a single package version id, or a comma separated list of package version ids.
  # Defaults to an empty string.
  package-version-ids:

  # Owner of the repo hosting the package.
  # Defaults to the owner of the repo executing the workflow.
  # Required if deleting a version from a package hosted in a different repo than the one executing the workflow.
  owner:

  # Repo hosting the package.
  # Defaults to the repo executing the workflow.
  # Required if deleting a version from a package hosted in a different repo than the one executing the workflow.
  repo:

  # Name of the package.
  # Defaults to an empty string.
  # Required if `package-version-ids` input is not given.
  package-name:

  # The number of old versions to delete starting from the oldest version.
  # Defaults to 1.
  num-old-versions-to-delete:

  # The min number of latest versions to never delete.
  # Defaults to 1.
  min-versions-to-keep:

  # The package versions to ignore exclude from deletion.
  # By default nothing is ignored"
  ignore-versions:

  # If true it will delete all the pre-release versions upto 100 at once.
  # Defaults to false.
  delete-only-pre-release-versions:

  # The token used to authenticate with GitHub Packages.
  # Defaults to github.token.
  # Required if deleting a version from a package hosted in a different repo than the one executing the workflow.
  #   If `package-version-ids` is given the token only needs the delete packages scope.
  #   If `package-version-ids` is not given the token needs the delete packages scope and the read packages scope
  token:

Scenarios

Delete a specific version of a package hosted in the same repo as the workflow

To delete a specific version of a package that is hosted in the same repo as the one executing the workflow the package-version-ids input is required.

Package version ids can be retrieved via the GitHub GraphQL API

Example

- uses: actions/delete-package-versions@v1
  with:
    package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3'

Delete a specific version of a package hosted in a different repo than the workflow

To delete a specific version of a package that is hosted in a different repo than the one executing the workflow the package-version-ids, and token inputs are required.

Package version ids can be retrieved via the GitHub GraphQL API.

The token only needs the delete packages scope. It is recommended to store the token as a secret. In this example the token was stored as a secret named GITHUB_PAT.

Example

- uses: actions/delete-package-versions@v1
  with:
    package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3'
    token: ${{ secrets.GITHUB_PAT }}

Delete multiple specific versions of a package hosted in the same repo as the workflow

To delete multiple specifc versions of a package that is hosted in the same repo that is executing the workflow the package-version-ids input is required.

The package-version-ids input should be a comma separated string of package version ids. Package version ids can be retrieved via the GitHub GraphQL API.

Example

- uses: actions/delete-package-versions@v1
  with:
    package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzQ5, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzUw'

Delete multiple specific versions of a package hosted in a different repo than the workflow

To delete multiple specifc versions of a package that is hosted in a different repo than the one executing the workflow the package-version-ids, and token inputs are required.

The package-version-ids input should be a comma separated string of package version ids. Package version ids can be retrieved via the GitHub GraphQL API.

The token only needs the delete packages scope. It is recommended to store the token as a secret. In this example the token was stored as a secret named GITHUB_PAT.

Example

- uses: actions/delete-package-versions@v1
  with:
    package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzQ5, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzUw'
    token: ${{ secrets.GITHUB_PAT }}

Delete oldest version of a package hosted in the same repo as the workflow

To delete the oldest version of a package that is hosted in the same repo that is executing the workflow the package-name input is required.

Example

- uses: actions/delete-package-versions@v1
  with:
    package-name: 'test-package'

Delete oldest version of a package hosted in a different repo than the workflow

To delete the oldest version of a package that is hosted in a different repo than the one executing the workflow the package-name, owner, repo, and token inputs are required.

The token needs the delete packages and read packages scope. It is recommended to store the token as a secret. In this example the token was stored as a secret named GITHUB_PAT.

Example

- uses: actions/delete-package-versions@v1
  with:
    owner: 'github'
    repo: 'packages'
    package-name: 'test-package'
    token: ${{ secrets.GITHUB_PAT }}

Delete oldest x number of versions of a package hosted in the same repo as the workflow

To delete the oldest x number of versions of a package hosted in the same repo that is executing the workflow the package-name, and num-old-versions-to-delete inputs are required.

Example

Delete the oldest 3 version of a package hosted in the same repo as the workflow

- uses: actions/delete-package-versions@v1
  with:
    package-name: 'test-package'
    num-old-versions-to-delete: 3

Delete oldest x number of versions of a package hosted in a different repo than the workflow

To delete the oldest x number of versions of a package hosted in a different repo than the one executing the workflow the package-name, num-old-versions-to-delete, owner, repo, and token inputs are required.

The token needs the delete packages and read packages scope. It is recommended to store the token as a secret. In this example the token was stored as a secret named GITHUB_PAT.

Example

Delete the oldest 3 version of a package hosted in a different repo than the one executing the workflow

- uses: actions/delete-package-versions@v1
  with:
    owner: 'github'
    repo: 'packages'
    package-name: 'test-package'
    num-old-versions-to-delete: 3
    token: ${{ secrets.GITHUB_PAT }}

Delete oldest x number of versions and keeping y latest versions of a package hosted in the same repo as the workflow

To delete oldest x number of versions while keeping minimum y latest versions of a package hosted in the same repo as the workflow the package-name, num-old-versions-to-delete, and min-versions-to-keep inputs are required.

Example

Delete the oldest 3 version and always keep atleast 2 versions of a package hosted in the same repo as the workflow

- uses: actions/delete-package-versions@v1
  with:
    package-name: 'test-package'
    num-old-versions-to-delete: 3
    min-versions-to-keep: 2

Delete oldest x number of versions and keeping y latest versions of a package hosted in a different repo than the workflow

To delete oldest x number of versions while keeping minimum y latest versions of a package hosted in a different repo than the workflow the package-name, num-old-versions-to-delete, min-versions-to-keep, owner, repo, and token inputs are required.

The token needs the delete packages and read packages scope. It is recommended to store the token as a secret. In this example the token was stored as a secret named GITHUB_PAT.

Example

Delete the oldest 3 version and always keep atleast 2 versions of a package hosted in a different repo than the workflow

- uses: actions/delete-package-versions@v1
  with:
    owner: 'github'
    repo: 'packages'
    package-name: 'test-package'
    num-old-versions-to-delete: 3
    min-versions-to-keep: 2
    token: ${{ secrets.GITHUB_PAT }}

Delete oldest x number of versions while ignoring particular package versions in the same repo as the workflow

To delete oldest x number of versions while ignoring all the major package versions in the same repo as the workflow the package-name, num-oldest-versions-to-delete and ignore-versions inputs are required.

There is a possibility if the oldest x number of versions contain ignored package versions, actual package versions to ge deleted will be less than x.

Example

Delete 3 oldest versions excluding major versions as per semver is the same repo as the workflow

- uses: actions/delete-package-versions@v1
  with: 
    package-name: 'test-packae'
    num-old-versions-to-delete: 3
    ignore-versions: '^(0|[1-9]\\d*)\\.0\\.0$'

Delete all pre-release package versions in the same repo as the workflow

To delete all pre release package versions in the same repo as the workflow the package-name and delete-only-pre-release-versions inputs are required.

Example

Delete all pre-release package versions in the same repo as the workflow

- uses: actions/delete-package-versions@v1
  with: 
    package-name: 'test-package'
    delete-only-pre-release-versions: "true"

License

The scripts and documentation in this project are released under the MIT License

Description
Mirror of github.com/actions/delete-package-versions
Readme 2 MiB
Languages
TypeScript 99.4%
JavaScript 0.6%