From 0e1a4e1a6c32c3221ee9811f86fa7c40f865d3ea Mon Sep 17 00:00:00 2001 From: tobitege Date: Mon, 5 Aug 2024 09:25:18 +0200 Subject: [PATCH] (backend) Added workflow clean-up.yml to remove old workflows and artifacts (#3244) * added workflow clean-up.yml to remove old workflows and artifacts * dispatch-only run for now * add retention-days of 14 to upload-artifact in ghcr.yml --- .github/workflows/clean-up.yml | 66 ++++++++++++++++++++++++++++++++++ .github/workflows/ghcr.yml | 2 ++ 2 files changed, 68 insertions(+) create mode 100644 .github/workflows/clean-up.yml diff --git a/.github/workflows/clean-up.yml b/.github/workflows/clean-up.yml new file mode 100644 index 0000000000..e4d4263f24 --- /dev/null +++ b/.github/workflows/clean-up.yml @@ -0,0 +1,66 @@ +name: Delete old workflow runs +on: + workflow_dispatch: + inputs: + days: + description: 'Days-worth of runs to keep for each workflow' + required: true + default: '30' + minimum_runs: + description: 'Minimum runs to keep for each workflow' + required: true + default: '10' + delete_workflow_pattern: + description: 'Name or filename of the workflow (if not set, all workflows are targeted)' + required: false + delete_workflow_by_state_pattern: + description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually' + required: true + default: "ALL" + type: choice + options: + - "ALL" + - active + - deleted + - disabled_inactivity + - disabled_manually + delete_run_by_conclusion_pattern: + description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success' + required: true + default: "ALL" + type: choice + options: + - "ALL" + - "Unsuccessful: action_required,cancelled,failure,skipped" + - action_required + - cancelled + - failure + - skipped + - success + dry_run: + description: 'Logs simulated changes, no deletions are performed' + required: false + +jobs: + del_runs: + runs-on: ubuntu-latest + permissions: + actions: write + contents: read + steps: + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@v2 + with: + token: ${{ github.token }} + repository: ${{ github.repository }} + retain_days: ${{ github.event.inputs.days }} + keep_minimum_runs: ${{ github.event.inputs.minimum_runs }} + delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }} + delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }} + delete_run_by_conclusion_pattern: >- + ${{ + startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:') + && 'action_required,cancelled,failure,skipped' + || github.event.inputs.delete_run_by_conclusion_pattern + }} + dry_run: ${{ github.event.inputs.dry_run }} diff --git a/.github/workflows/ghcr.yml b/.github/workflows/ghcr.yml index 5d4ed5e6e9..061606cbc3 100644 --- a/.github/workflows/ghcr.yml +++ b/.github/workflows/ghcr.yml @@ -81,6 +81,7 @@ jobs: with: name: ${{ matrix.image }}-docker-image-${{ matrix.platform }} path: /tmp/${{ matrix.image }}_image_${{ matrix.platform }}.tar + retention-days: 14 ghcr_build_runtime: runs-on: ubuntu-latest @@ -155,6 +156,7 @@ jobs: with: name: ${{ matrix.image }}-docker-image-${{ matrix.platform }} path: /tmp/${{ matrix.image }}_image_${{ matrix.platform }}.tar + retention-days: 14 test_runtime: name: Test Runtime