mirror of
https://github.com/apple/container.git
synced 2026-07-21 08:51:31 +00:00
## 🔧 Summary This PR improves the release.yml GitHub Actions workflow by addressing several critical issues to ensure consistent and reliable behavior during tag-based releases. ## ✅ Changes Included ### 1. Fixed tag trigger regex - Escaped dots in the tag regex ([0-9]+\\.[0-9]+\\.[0-9]+) to ensure only semantic version tags like 1.2.3 trigger the workflow. ##### Explanation - Old **Regex** is incorrect because . matches **any character**, so it matched: `1-2-3`, `1_2_3`, even `1a2b3`, which is invalid for versioning. - Fixed **Regex** is strict — matches only 1.2.3. #### Find attached tested SCREEN SHOT BELOW . **Bad Match with Old Regex:**  **Proper Match with Fixed Regex:**  --- ### 💬 Note: If you're planning to adopt alternate version tag formats in the future — such as: - v1.0.2 (semantic with prefix) - release-1.0.2 or rel-1.0.2 - 1.0.2-beta, 1.0.2-rc.1 (prereleases with suffixes) - x1.0.2x (custom wrapping formats) **…feel free to reach out. I'm happy to help extend the workflow to support those formats reliably and safely.** --- ### 2. Added strict release job guard - Prevented **accidental release runs** on non-tag events using if: startsWith(github.ref, 'refs/tags/'). ### 3. Explicit artifact validation - **Introduced a shell check** using ls and test to ensure .zip and .pkg files exist before attempting release. This gives early, clear failure instead of a **vague error** from `action-gh-release`. ### 4. Clarified GitHub token usage - Switched from ${{ secrets.GITHUB_TOKEN }} to ${{ github.token }} for better readability and consistency with GitHub Actions best practices. @katiewasnothere @wlan0