Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c-hive/gha-remove-artifacts
GitHub Action to customize artifact cleanup
https://github.com/c-hive/gha-remove-artifacts
Last synced: 2 months ago
JSON representation
GitHub Action to customize artifact cleanup
- Host: GitHub
- URL: https://github.com/c-hive/gha-remove-artifacts
- Owner: c-hive
- License: mit
- Created: 2020-02-05T19:46:48.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-04T09:15:05.000Z (10 months ago)
- Last Synced: 2024-10-13T14:15:16.752Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 334 KB
- Stars: 323
- Watchers: 7
- Forks: 52
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-actions - Remove Old Artifacts
- fucking-awesome-actions - Remove Old Artifacts
- awesome-workflows - Remove Old Artifacts
README
# gha-remove-artifacts
#### GitHub Action to customize artifact cleanup
Status and support
- ✔ stable
- ✔ supported
- ✖ no ongoing development[![CI](/../../workflows/CI/badge.svg?branch=master)](/../../actions)
GitHub Action Artifacts are removed after [90 days](https://github.community/t5/GitHub-Actions/Managing-Actions-storage-space/m-p/41424/highlight/true#M4618) by default. [GitHub now supports changing this setting](https://github.blog/changelog/2020-10-08-github-actions-ability-to-change-retention-days-for-artifacts-and-logs/). This action allows you to further customize the cleanup. It
- removes artifacts that are older than the specified age
- has the option to keep release (tagged) artifacts
- has the option to keep a number of recent artifacts
- [respects](https://github.com/octokit/plugin-throttling.js) GitHub's rate limitExample use cases:
- keep all release artifacts for a year, remove non-release artifacts after 30 days
- keep the most recent 10 artifacts## Usage
Add the following workflow to your repository and configure options.
`.github/workflows/remove-old-artifacts.yml`
```yml
name: Remove old artifactson:
schedule:
# Every day at 1am
- cron: '0 1 * * *'jobs:
remove-old-artifacts:
runs-on: ubuntu-latest
timeout-minutes: 10steps:
- name: Remove old artifacts
uses: c-hive/gha-remove-artifacts@v1
with:
age: '1 month' # ' ', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
# Optional inputs
# skip-tags: true
# skip-recent: 5
```## Conventions
This project follows [C-Hive guides](https://github.com/c-hive/guides) for code style, way of working and other development concerns.
## License
The project is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).