Files
delete-package-versions/README.md
T

117 lines
5.1 KiB
Markdown
Raw Normal View History

2020-02-29 15:55:55 -06:00
# Delete Package Versions
2020-01-29 10:13:06 -05:00
2020-02-29 15:55:55 -06:00
This action deletes versions of a package from [GitHub Packages](https://github.com/features/packages).
2020-01-29 10:13:06 -05:00
2020-02-29 17:10:44 -06:00
### What It Can Do
2020-01-29 10:13:06 -05:00
2020-02-29 15:55:55 -06:00
* Delete a single version
* Delete multiple versions
* Delete specific version(s)
* Delete oldest version(s)
* Delete version(s) from a package that is hosted in the same repo that is executing the workflow
* Delete version(s) from a package that is hosted in a different repo than the one executing the workflow
2020-01-29 10:13:06 -05:00
2020-02-29 15:55:55 -06:00
# Usage
2020-01-29 10:13:06 -05:00
2020-02-29 16:31:12 -06:00
```yaml
- uses: actions/delete-package-versions@v1
2020-02-29 16:34:30 -06:00
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:
2020-02-29 16:36:54 -06:00
# 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:
2020-02-29 16:37:36 -06:00
2020-02-29 16:36:54 -06:00
# Name of the package.
# Defaults to an empty string.
# Required if `package-version-ids` input is not given.
package-name:
2020-02-29 16:37:36 -06:00
2020-02-29 16:36:54 -06:00
# The number of old versions to delete starting from the oldest version.
# Defaults to 1.
num-old-versions-to-delete:
2020-02-29 16:37:36 -06:00
2020-02-29 16:36:54 -06:00
# 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
2020-02-29 16:37:36 -06:00
token:
2020-02-29 16:31:12 -06:00
```
2020-01-29 10:13:06 -05:00
2020-02-29 16:31:12 -06:00
# Scenarios
2020-01-29 10:13:06 -05:00
2020-02-29 17:10:44 -06:00
* [Delete a specific version from a package hosted in the same repo as the workflow](#delete-a-specific-version-from-a-package-hosted-in-the-same-repo-as-the-workflow)
2020-02-29 17:17:53 -06:00
* [Delete a specific version from a package hosted in a different repo than the workflow](#delete-a-specific-version-from-a-package-hosted-in-a-different-repo-than-the-workflow)
2020-02-29 17:50:30 -06:00
* [Delete multiple specific versions from a package hosted in the same repo as the workflow](delete-multiple-specific-versions-from-a-package-hosted-in-the-same-repo-as-the-workflow)
* [Delete multiple specific versions from a package hosted in a different repo than the workflow](delete-multiple-specific-versions-from-a-package-hosted-in-a-different-repo-than-the-workflow)
2020-02-29 17:17:53 -06:00
2020-02-29 17:40:39 -06:00
2020-02-29 17:39:54 -06:00
2020-02-29 17:31:01 -06:00
### Delete a specific version from a package hosted in the same repo as the workflow
2020-02-29 17:20:40 -06:00
2020-02-29 17:39:12 -06:00
Package version ids can be retrieved via the [GitHub GraphQL API][api].
2020-02-29 16:52:52 -06:00
2020-02-29 16:51:55 -06:00
```yaml
- uses: actions/delete-package-versions@v1
2020-02-29 17:10:44 -06:00
with:
package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3'
2020-02-29 16:51:55 -06:00
```
2020-01-29 10:13:06 -05:00
2020-02-29 17:41:10 -06:00
2020-01-29 10:13:06 -05:00
2020-02-29 17:17:53 -06:00
### Delete a specific version from a package hosted in a different repo than the workflow
2020-02-29 17:50:30 -06:00
Package version ids can be retrieved via the [GitHub GraphQL API][api]. The token input is required to delete a version of a package hosted in a different repo than the workflow. The [token][token] only needs the delete packages scope. It is recommended [to store the token as a secret][secret]. In this example the [token][token] was stored as a secret named __GITHUB_PAT__.
2020-02-29 17:17:53 -06:00
```yaml
- uses: actions/delete-package-versions@v1
with:
package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3'
token: ${{ secrets.GITHUB_PAT }}
```
2020-01-29 10:13:06 -05:00
2020-02-29 17:50:30 -06:00
### Delete multiple specific versions from a package hosted in the same repo as the workflow
To delete multiple specifc versions of a package set __package-version-ids__ to a comma separated string of package version ids. Package version ids can be retrieved via the [GitHub GraphQL API][api].
```yaml
- uses: actions/delete-package-versions@v1
with:
package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzQ5, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzUw'
```
### Delete multiple specific versions from a package hosted in a different repo than the workflow
To delete multiple specifc versions of a package set __package-version-ids__ to a comma separated string of package version ids. Package version ids can be retrieved via the [GitHub GraphQL API][api]. The token input is required to delete a version of a package hosted in a different repo than the workflow. The [token][token] only needs the delete packages scope. It is recommended [to store the token as a secret][secret]. In this example the [token][token] was stored as a secret named __GITHUB_PAT__.
```yaml
- uses: actions/delete-package-versions@v1
with:
package-version-ids: 'MDE0OlBhY2thZ2VWZXJzaW9uOTcyMDY3, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzQ5, MDE0OlBhY2thZ2VWZXJzaW9uOTcyMzUw'
token: ${{ secrets.GITHUB_PAT }}
```
2020-02-29 15:55:55 -06:00
# License
2020-01-29 10:13:06 -05:00
2020-02-29 15:55:55 -06:00
The scripts and documentation in this project are released under the [MIT License](https://github.com/actions/delete-package-versions/blob/master/LICENSE)
2020-01-29 10:13:06 -05:00
2020-02-29 17:39:12 -06:00
[api]: https://developer.github.com/v4/previews/#github-packages
2020-02-29 17:37:44 -06:00
[token]: https://help.github.com/en/packages/publishing-and-managing-packages/about-github-packages#about-tokens
2020-02-29 17:39:12 -06:00
[secret]: https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
2020-02-29 17:37:01 -06:00