From 029923bac724839c1c0ee7305ca8ec462f273266 Mon Sep 17 00:00:00 2001 From: remittor Date: Sun, 14 Dec 2025 14:25:28 +0300 Subject: [PATCH] build: releases: Create releases for each ARCH --- .github/workflows/build.yml | 39 +++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75ddc65..173442e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -359,12 +359,6 @@ jobs: ref: gh-pages continue-on-error: true - - name: Checkout main if gh-pages missing - if: failure() - uses: actions/checkout@v4 - with: - ref: main - - name: Save FULL releases.json env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -377,7 +371,7 @@ jobs: https://api.github.com/repos/$OWNER/$REPO/releases \ > releases.json - - name: Generate filtered releases_XXX.json + - name: Generate releases_BRANCH.json env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} OWNER: ${{ github.repository_owner }} @@ -433,11 +427,40 @@ jobs: >(jq '.zap1' > releases_zap1.json) \ >(jq '.zap2' > releases_zap2.json) + - name: Generate releases_BRANCH_ARCH.json + run: | + BRANCHES=("zap1" "zap2") + for ARCH in $(jq -r '.[] | .assets[].name | capture("^[^_]+_[^_]+_(?.+)\\.zip$").arch' releases.json | sort -u); do + for BRANCH in "${BRANCHES[@]}"; do + if [ "$BRANCH" == "zap1" ]; then + PREFIX="zapret " + else + PREFIX="zapret2 " + fi + jq --arg prefix "$PREFIX" --arg arch "$ARCH" ' + sort_by(.created_at) | reverse + | map(select(.name | startswith($prefix))) + | .[0:20] + | map( + . as $release + | { + tag: $release.tag, + name: $release.name, + draft: $release.draft, + prerelease: $release.prerelease, + assets: ($release.assets | map(select(.name | test("_\($arch)\\.zip$")))) + } + ) + | { generated_at: (now | todate), releases: . } + ' releases.json > "releases_${BRANCH}_${ARCH}.json" + done + done + - name: Commit and push ALL releases.json run: | git config user.name "github-actions" git config user.email "github-actions@github.com" git checkout -B gh-pages - git add releases.json releases_zap1.json releases_zap2.json + git add releases.json releases_*.json git commit -m "Update releases.json" || exit 0 git push origin gh-pages