diff --git a/.github/workflows/delete_images.yaml b/.github/workflows/delete_images.yaml new file mode 100644 index 000000000..a14a3f57d --- /dev/null +++ b/.github/workflows/delete_images.yaml @@ -0,0 +1,21 @@ +name: Delete old container images + +on: + schedule: + - cron: '0 2 * * 2' # This job runs every Tuesday + workflow_dispatch: + +jobs: + clean-ghcr: + name: Delete old unused container images + runs-on: ubuntu-22.04 + steps: + - name: Delete containers older than a Month + uses: snok/container-retention-policy@v2 + with: + image-names: traction-plugins-acapy, traction-tenant-proxy, traction-tenant-ui + cut-off: One month ago UTC + account-type: org + org-name: ${{ github.repository_owner}} + skip-tags: pr-* , *.*.* + token: ${{ secrets.PACKAGE_DELETE_TOKEN }} diff --git a/.github/workflows/on_pr_closed.yaml b/.github/workflows/on_pr_closed.yaml index 64c18620b..878690e2c 100644 --- a/.github/workflows/on_pr_closed.yaml +++ b/.github/workflows/on_pr_closed.yaml @@ -10,11 +10,12 @@ on: - 'charts/tenant-ui/**' types: - closed + jobs: uninstall: name: Uninstall PR environment: development - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 if: github.repository_owner == 'bcgov' steps: - uses: actions/checkout@v2 @@ -42,3 +43,17 @@ jobs: continue-on-error: true run: | oc delete secret,pvc --selector "app.kubernetes.io/instance"=pr-${{ github.event.number }}-traction + + clean-ghcr: + runs-on: ubuntu-22.04 + name: Delete closed or stale pr images + steps: + - name: Delete containers + uses: snok/container-retention-policy@v2 + with: + image-names: traction-plugins-acapy, traction-tenant-proxy, traction-tenant-ui + cut-off: now UTC + account-type: org + org-name: ${{ github.repository_owner}} + filter-tags: pr-${{ github.event.number }} + token: ${{ secrets.PACKAGE_DELETE_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml new file mode 100644 index 000000000..bbeb61ecc --- /dev/null +++ b/.github/workflows/stale.yaml @@ -0,0 +1,22 @@ +name: Close stale issues and PRs + +on: + schedule: + - cron: '30 1 * * *' # This job runs at 1:30 UTC + workflow_dispatch: + +jobs: + stale: + runs-on: ubuntu-22.04 + steps: + - uses: actions/stale@v8 + with: + stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' + stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.' + close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.' + close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.' + days-before-issue-stale: 30 + days-before-pr-stale: 45 + days-before-issue-close: 5 + days-before-pr-close: 10 + \ No newline at end of file