this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Improve workflow caching

+54 -9
+36 -3
.github/workflows/build-and-release.yml
··· 25 25 steps: 26 26 - name: Checkout repository 27 27 uses: actions/checkout@v4 28 + with: 29 + fetch-depth: 0 30 + token: ${{ secrets.GITHUB_TOKEN }} 28 31 29 32 - name: Setup Xcode 30 33 uses: maxim-lobanov/setup-xcode@v1 ··· 43 46 echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT 44 47 echo "Building version: $VERSION" 45 48 46 - - name: Cache idb repository 47 - uses: actions/cache@v4 49 + - name: Restore idb repository cache 50 + uses: actions/cache/restore@v4 48 51 with: 49 52 path: idb_checkout 50 - key: idb-repo-${{ runner.os }}-stable 53 + key: idb-repo-${{ runner.os }}-dummy 51 54 restore-keys: | 52 55 idb-repo-${{ runner.os }}- 53 56 ··· 169 172 - name: Sign - XCFramework bundles 170 173 if: steps.idb_check.outputs.needs_setup == 'true' 171 174 run: scripts/build.sh sign-xcframeworks 175 + 176 + - name: Commit updated XCFrameworks 177 + if: steps.idb_check.outputs.needs_setup == 'true' 178 + run: | 179 + set -e 180 + 181 + echo "🔄 Committing updated XCFrameworks to repository..." 182 + 183 + # Configure git 184 + git config --local user.email "action@github.com" 185 + git config --local user.name "GitHub Action" 186 + 187 + # Add the XCFrameworks directory 188 + git add build_products/XCFrameworks/ 189 + 190 + # Check if there are changes to commit 191 + if git diff --staged --quiet; then 192 + echo "ℹ️ No changes to XCFrameworks detected, skipping commit" 193 + else 194 + git commit -m "Update XCFrameworks to IDB commit ${{ steps.idb_check.outputs.idb_commit }}" 195 + git push 196 + echo "✅ XCFrameworks committed and pushed successfully" 197 + fi 198 + 199 + - name: Save IDB repository cache 200 + if: steps.idb_check.outputs.needs_setup == 'true' 201 + uses: actions/cache/save@v4 202 + with: 203 + path: idb_checkout 204 + key: idb-repo-${{ runner.os }}-${{ steps.idb_check.outputs.idb_commit }} 172 205 173 206 - name: Build - AXe executable 174 207 run: scripts/build.sh executable
+18 -6
scripts/create-release.sh
··· 17 17 fi 18 18 19 19 # --- Get version --- 20 + log_info "Fetching latest release information..." 21 + 22 + # Get the latest tag from remote 23 + LATEST_TAG=$(git ls-remote --tags origin | grep -E 'refs/tags/v[0-9]+\.[0-9]+\.[0-9]+' | sed 's/.*refs\/tags\///' | sort -V | tail -1) 24 + 25 + if [ -n "$LATEST_TAG" ]; then 26 + LATEST_VERSION=${LATEST_TAG#v} # Remove 'v' prefix 27 + log_info "Latest version on origin: $LATEST_VERSION" 28 + else 29 + log_info "No previous releases found on origin" 30 + fi 31 + 32 + echo "" 20 33 echo "Enter the version for the new release (e.g., 1.0.0):" 21 34 read -p "Version: " VERSION 22 35 ··· 62 75 gh release create "$TAG_NAME" \ 63 76 --title "Release $TAG_NAME" \ 64 77 --notes "$RELEASE_NOTES" \ 65 - --draft \ 66 - $PRERELEASE_FLAG 78 + --prerelease 67 79 68 - log_success "Draft release $TAG_NAME created successfully!" 69 - log_info "The GitHub Actions workflow will now build and attach the artifacts." 70 - log_info "Once the build completes, you can publish the release at:" 80 + log_success "Pre-release $TAG_NAME created successfully!" 81 + log_info "The GitHub Actions workflow is now building and will attach the artifacts automatically." 82 + log_info "Once the build completes, you can promote it to a full release at:" 71 83 log_info "https://github.com/$(gh repo view --json owner,name -q '.owner.login + "/" + .name')/releases" 72 84 73 85 echo "" 74 86 echo "To monitor the build progress:" 75 - echo "gh run list --workflow=release.yml" 87 + echo "gh run list --workflow=build-and-release.yml"