From f813c175652c6aedf78b0fb3d99337d355861a99 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sat, 20 Dec 2025 18:29:32 +0800 Subject: [PATCH] Add DigitalOcean container registry garbage collection workflow (#8073) --- .github/workflows/digitalocean_gc.yml | 36 +++++++++++++++++++++++++++ .github/workflows/docker.yml | 16 ++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 .github/workflows/digitalocean_gc.yml diff --git a/.github/workflows/digitalocean_gc.yml b/.github/workflows/digitalocean_gc.yml new file mode 100644 index 000000000..c69d72d26 --- /dev/null +++ b/.github/workflows/digitalocean_gc.yml @@ -0,0 +1,36 @@ +name: DigitalOcean +on: + workflow_dispatch: + workflow_call: + +jobs: + garbage-collection: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Install doctl + uses: digitalocean/action-doctl@5727c67aa3c2c34ae9462d5a0ecfea8a1b31e5ce # v2 + with: + token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} + - name: Run garbage collection + run: | + # --force: Required for CI to skip confirmation prompts + # --include-untagged-manifests: Deletes unreferenced manifests to maximize space + doctl registry garbage-collection start --force --include-untagged-manifests + - name: Send email on failure + uses: dawidd6/action-send-mail@2cea9617b09d79a095af21254fbcb7ae95903dde # v3.12.0 + if: ${{ failure() }} + with: + server_address: smtp.mailgun.org + server_port: 465 + username: ${{ secrets.SMTP_USERNAME }} + password: ${{ secrets.SMTP_PASSWORD }} + subject: GitHub Actions (${{ github.repository }}) job result + to: github-actions-8ce6454@unknwon.io + from: GitHub Actions (${{ github.repository }}) + reply_to: noreply@unknwon.io + body: | + The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}". + + View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 958745d1d..6291c05df 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -404,3 +404,19 @@ jobs: The job "${{ github.job }}" of ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }} completed with "${{ job.status }}". View the job run at: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + + digitalocean-gc: + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'gogs/gogs' }} + needs: buildx-next + permissions: + contents: read + uses: ./.github/workflows/digitalocean_gc.yml + secrets: inherit + + digitalocean-gc-pull-request: + if: ${{ github.event_name == 'pull_request' }} + needs: buildx-next-pull-request + permissions: + contents: read + uses: ./.github/workflows/digitalocean_gc.yml + secrets: inherit