Skip to content

Runner Maintenance

Runner Maintenance #27

name: Runner Maintenance
# Heavy disk reclamation for the self-hosted runner. Runs once per day at
# 18:00 UTC (02:00 Asia/Shanghai) so it lands in an off-peak window. Per-PR
# `gpu-smoke` jobs only attempt the heavier reclaim path when disk is under
# pressure, and still rate-limit the expensive cache-trim pass via a
# cooldown; this scheduled job forces the full cleanup pass on days with
# little PR traffic.
#
# GPU smoke and nightly share the persistent cache tree under
# `/data/cache/*`.
on:
schedule:
- cron: "0 18 * * *"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: runner-maintenance
cancel-in-progress: false
jobs:
reclaim-disk:
if: ${{ github.repository == 'MetaX-MACA/TileOPs-Metax' }}
runs-on: tileops-metax-runner
timeout-minutes: 60
steps:
# Invoke the action directly via owner/repo/path@ref so this workflow
# does not depend on `actions/checkout` succeeding first — in the
# disk-full scenarios this job is meant to remediate, a prior checkout
# could itself fail for lack of space and prevent reclaim from ever
# running. `@main` is trusted because this workflow only triggers on
# schedule / workflow_dispatch; no fork-PR code path reaches it.
- name: Reclaim runner disk
uses: MetaX-MACA/TileOPs-Metax/.github/actions/reclaim-runner-disk@dev
with:
force-reclaim: "true"