Skip to content

delete-packages #119

delete-packages

delete-packages #119

# Copyright (c) Perpetual Intelligence L.L.C. All Rights Reserved.
#
# For license, terms, and data policies, go to:
# https://terms.perpetualintelligence.com
# Deletes the specified package name
name: delete-packages
concurrency: github-release
# Controls when the workflow will run
on:
# Weekly automated run 10.30 PM UTC on Friday
# Default values: keep 1 latest version for all packages
schedule:
- cron: '30 22 * * 5'
# Manual
workflow_dispatch:
inputs:
keep:
type: choice
description: 'The minimum versions to keep'
required: true
options:
- '1'
- '2'
- '3'
- '0'
default: '1'
package:
type: choice
description: 'The package name to delete'
required: true
options:
- PerpetualIntelligence.Cli
- All
default: 'All'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
delete:
# OS/Platform
runs-on: ubuntu-latest
timeout-minutes: 10
# Define the default values for manual and CRON triggers
env:
PI_KEEP_MINIMUM_VERSIONS: 1
PI_DELETE_PACKAGES: All
steps:
# Establish the values based on manual or cron trigger
- name: Keep minimum metadata
if: ${{ github.event.inputs.keep != '' }}
run: echo "PI_KEEP_MINIMUM_VERSIONS=${{ github.event.inputs.keep }}" >> $GITHUB_ENV
continue-on-error: false
# Establish the values based on manual or cron trigger
- name: Delete packages metadata
if: ${{ github.event.inputs.package != '' }}
run: echo "PI_DELETE_PACKAGES=${{ github.event.inputs.package }}" >> $GITHUB_ENV
continue-on-error: false
# Delete specific
- name: Delete ${{ env.PI_DELETE_PACKAGES }}
if: ${{ env.PI_DELETE_PACKAGES != 'All' }}
uses: actions/delete-package-versions@v2
with:
package-name: ${{ env.PI_DELETE_PACKAGES }}
min-versions-to-keep: ${{ env.PI_KEEP_MINIMUM_VERSIONS }}
# Delete PerpetualIntelligence.Shared
- name: Delete PerpetualIntelligence.Cli
if: ${{ env.PI_DELETE_PACKAGES == 'All' }}
uses: actions/delete-package-versions@v2
with:
package-name: PerpetualIntelligence.Cli
min-versions-to-keep: ${{ env.PI_KEEP_MINIMUM_VERSIONS }}