From d7fee06b6380f74a06bd2438f425b9913b288f55 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Fri, 28 Nov 2025 15:58:47 +0200 Subject: [PATCH] ci: Free disk space on Ubuntu runners Signed-off-by: Stefan Prodan --- .github/actions/runner-cleanup/action.yml | 24 +++++++++++++++++++++++ .github/workflows/cve-scan.yml | 6 ++++-- .github/workflows/e2e.yml | 6 ++++-- .github/workflows/release.yml | 1 + .github/workflows/test.yml | 4 ++-- 5 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 .github/actions/runner-cleanup/action.yml diff --git a/.github/actions/runner-cleanup/action.yml b/.github/actions/runner-cleanup/action.yml new file mode 100644 index 0000000..fd25ad4 --- /dev/null +++ b/.github/actions/runner-cleanup/action.yml @@ -0,0 +1,24 @@ +name: Runner Cleanup +description: A GitHub Action for removing bloat from Ubuntu GitHub Actions runner. +author: Stefan Prodan +branding: + color: blue + icon: command +runs: + using: composite + steps: + - name: "Disk Usage Before Cleanup" + shell: bash + run: | + df -h + - name: "Remove .NET, Android and Haskell" + shell: bash + run: | + sudo rm -rf /usr/share/dotnet || true + sudo rm -rf /usr/local/lib/android || true + sudo rm -rf /opt/ghc || true + sudo rm -rf /usr/local/.ghcup || true + - name: "Disk Usage After Cleanup" + shell: bash + run: | + df -h diff --git a/.github/workflows/cve-scan.yml b/.github/workflows/cve-scan.yml index 9cb0727..edf681d 100644 --- a/.github/workflows/cve-scan.yml +++ b/.github/workflows/cve-scan.yml @@ -16,8 +16,10 @@ jobs: govulncheck: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + - uses: ./.github/actions/runner-cleanup - name: Vulnerability scan id: govulncheck uses: golang/govulncheck-action@v1 + with: + repo-checkout: false diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c80e1d9..fb89b1f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -15,6 +15,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v6 + - name: Disk Cleanup + uses: ./.github/actions/runner-cleanup - name: Setup Kubernetes uses: helm/kind-action@v1.13.0 with: @@ -47,8 +49,8 @@ jobs: PODINFO_MODULE_URL: "oci://localhost:5000/podinfo" PODINFO_VERSION: "0.0.0-devel" steps: - - name: Checkout - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + - uses: ./.github/actions/runner-cleanup - name: Setup Timoni uses: stefanprodan/timoni/actions/setup@main - name: Setup Kubernetes diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ca4ebe..5454e3b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,7 @@ jobs: packages: write # needed for ghcr access steps: - uses: actions/checkout@v6 + - uses: ./.github/actions/runner-cleanup - uses: sigstore/cosign-installer@v4.0.0 with: cosign-release: v2.6.1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d26557..d1a91f9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,8 +17,8 @@ jobs: test: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + - uses: ./.github/actions/runner-cleanup - name: Setup Go uses: actions/setup-go@v6 with: