/gha-remove-artifacts

GitHub Action to customize artifact cleanup

Primary LanguageJavaScriptMIT LicenseMIT

gha-remove-artifacts

GitHub Action to customize artifact cleanup

Status and support

  • ✔ stable
  • ✔ supported
  • ✖ no ongoing development

CI

GitHub Action Artifacts are removed after 90 days by default. GitHub now supports changing this setting. 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 GitHub's rate limit

Example 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

name: Remove old artifacts

on:
  schedule:
    # Every day at 1am
    - cron: '0 1 * * *'

jobs:
  remove-old-artifacts:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
    - name: Remove old artifacts
      uses: c-hive/gha-remove-artifacts@v1
      with:
        age: '1 month' # '<number> <unit>', 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 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.