chore(deps): update dependency vite to v8 #370
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Cleanup caches by branch | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| types: | |
| - closed | |
| jobs: | |
| cleanup: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| actions: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Cleanup | |
| run: | | |
| set -eo pipefail | |
| # Liste der bereits gelöschten Caches | |
| deletedCacheIDs=() | |
| echo "Fetching all cache keys..." | |
| # Holt alle Caches, sortiert nach Erstellungsdatum | |
| allCaches=$(gh cache list --limit 1000 --json id,ref,createdAt --jq 'sort_by(.createdAt)') | |
| if [ -z "$allCaches" ]; then | |
| echo "No caches found. Exiting." | |
| exit 0 | |
| fi | |
| echo "Fetching list of active branches..." | |
| # Holt alle aktiven Branches | |
| activeBranches=$(git ls-remote --heads origin | awk '{print $2}' | sed 's#refs/heads/##') | |
| echo "Processing caches..." | |
| # Iterate über alle Caches | |
| echo "$allCaches" | jq -c '.[]' | while read -r cache; do | |
| cacheID=$(echo "$cache" | jq -r '.id') | |
| cacheRef=$(echo "$cache" | jq -r '.ref') | |
| # Wenn der Cache bereits gelöscht wurde, überspringen | |
| if [[ " ${deletedCacheIDs[*]} " =~ " $cacheID " ]]; then | |
| echo "Cache $cacheID wurde bereits gelöscht. Überspringe..." | |
| continue | |
| fi | |
| # Branch extrahieren | |
| branchName=$(echo "$cacheRef" | sed -E 's#refs/heads/##') | |
| # Prüfen, ob der Branch noch existiert | |
| if ! echo "$activeBranches" | grep -q "^$branchName$"; then | |
| echo "Branch $branchName existiert nicht mehr. Lösche Cache $cacheID..." | |
| gh cache delete "$cacheID" | |
| deletedCacheIDs+=("$cacheID") | |
| deletedCaches=$((deletedCaches + 1)) | |
| else | |
| # Alle Caches für diesen Branch abrufen | |
| branchCaches=$(echo "$allCaches" | jq --arg ref "$cacheRef" '[.[] | select(.ref == $ref)]') | |
| # Anzahl der Caches für diesen Branch | |
| cacheCount=$(echo "$branchCaches" | jq 'length') | |
| # Ältere Caches löschen, wenn mehr als 2 existieren | |
| if [ "$cacheCount" -gt 2 ]; then | |
| echo "Branch $branchName hat $cacheCount Caches. Behalte die 2 neuesten..." | |
| cachesToDelete=$(echo "$branchCaches" | jq -r '.[].id' | head -n -2) | |
| for oldCacheID in $cachesToDelete; do | |
| # Prüfen, ob der Cache bereits gelöscht wurde | |
| if [[ " ${deletedCacheIDs[*]} " =~ " $oldCacheID " ]]; then | |
| echo "Cache $oldCacheID wurde bereits gelöscht. Überspringe..." | |
| continue | |
| fi | |
| echo "Lösche alten Cache: $oldCacheID" | |
| gh cache delete "$oldCacheID" | |
| deletedCacheIDs+=("$oldCacheID") | |
| deletedCaches=$((deletedCaches + 1)) | |
| done | |
| fi | |
| fi | |
| done | |
| echo "Cleanup completed. $deletedCaches caches deleted." | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |