Release v1.3.3 - HUD above fullscreen and green menu icon #9
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: Build and Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' # Triggers on version tags like v1.0.0, v2.1.3, etc. | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| name: Build and Release | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Extract version from tag | |
| id: version | |
| run: | | |
| VERSION=${GITHUB_REF#refs/tags/v} | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| echo "Building version: $VERSION" | |
| - name: Update version in Info.plist | |
| run: | | |
| /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${{ steps.version.outputs.version }}" Cloak/Info.plist | |
| /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" Cloak/Info.plist | |
| - name: Build app | |
| run: | | |
| xcodebuild \ | |
| -project Cloak.xcodeproj \ | |
| -scheme Cloak \ | |
| -configuration Release \ | |
| build \ | |
| CONFIGURATION_BUILD_DIR=./build \ | |
| CODE_SIGN_IDENTITY="" \ | |
| CODE_SIGNING_REQUIRED=NO \ | |
| CODE_SIGNING_ALLOWED=NO | |
| - name: Verify build | |
| run: | | |
| ls -la ./build/ | |
| test -d "./build/Cloak.app" || exit 1 | |
| - name: Create DMG | |
| run: | | |
| # Create staging folder with Applications shortcut | |
| mkdir -p dmg-staging | |
| cp -R ./build/Cloak.app dmg-staging/ | |
| ln -s /Applications dmg-staging/Applications | |
| # Create DMG | |
| hdiutil create \ | |
| -volname "Cloak" \ | |
| -srcfolder dmg-staging \ | |
| -ov \ | |
| -format UDZO \ | |
| "./build/Cloak-${{ steps.version.outputs.version }}.dmg" | |
| # Cleanup | |
| rm -rf dmg-staging | |
| - name: Create ZIP | |
| run: | | |
| cd ./build | |
| zip -r "Cloak-${{ steps.version.outputs.version }}-app.zip" Cloak.app | |
| cd .. | |
| - name: Generate checksums | |
| run: | | |
| cd ./build | |
| shasum -a 256 "Cloak-${{ steps.version.outputs.version }}.dmg" > "Cloak-${{ steps.version.outputs.version }}.dmg.sha256" | |
| shasum -a 256 "Cloak-${{ steps.version.outputs.version }}-app.zip" > "Cloak-${{ steps.version.outputs.version }}-app.zip.sha256" | |
| cat *.sha256 | |
| cd .. | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| name: Cloak v${{ steps.version.outputs.version }} | |
| draft: false | |
| prerelease: false | |
| generate_release_notes: true | |
| files: | | |
| ./build/Cloak-${{ steps.version.outputs.version }}.dmg | |
| ./build/Cloak-${{ steps.version.outputs.version }}-app.zip | |
| ./build/Cloak-${{ steps.version.outputs.version }}.dmg.sha256 | |
| ./build/Cloak-${{ steps.version.outputs.version }}-app.zip.sha256 | |
| body: | | |
| ## Installation | |
| 1. Download `Cloak-${{ steps.version.outputs.version }}.dmg` | |
| 2. Open the DMG and drag Cloak to Applications | |
| 3. **First launch**: Right-click Cloak → Open → Click "Open" in the dialog | |
| This is required once because the app is not signed with an Apple Developer certificate. | |
| Alternatively, run in Terminal: | |
| ```bash | |
| xattr -cr /Applications/Cloak.app | |
| ``` | |
| ## Checksums | |
| See the `.sha256` files for SHA-256 checksums. | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |