#name: Clean Nightly Releases # #on: # schedule: # - cron: '0 4 * * *' # Runs daily at 04:00 UTC # workflow_dispatch: # Allows manual triggering # #jobs: # clean-nightly: # runs-on: ubuntu-latest # permissions: # contents: write # packages: write # # steps: # - name: Set up GitHub CLI # uses: cli/cli-action@v2 # # - name: Authenticate GitHub CLI # run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token # # - name: Get and clean old nightly releases # env: # GH_REPO: ${{ github.repository }} # run: | # # Get all release titles that match the nightly pattern # mapfile -t releases < <( # gh release list --limit 1000 --json tagName,name,createdAt --jq ' # sort_by(.createdAt) | reverse | # map(select(.name | test("^Nunchaku Nightly v[0-9]+\\.[0-9]+\\.[0-9]+dev[0-9]{8}$"))) | # map(.tagName)' # ) # # # Keep only the first 5 (latest), delete the rest # if (( ${#releases[@]} > 5 )); then # for tag in "${releases[@]:5}"; do # echo "Deleting old release: $tag" # gh release delete "$tag" --yes # done # else # echo "Less than or equal to 5 nightly releases found. No cleanup needed." # fi