chore: bump version to 0.6.0 and prepare release notes #294
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Detect which files changed to decide which jobs to run | |
| changes: | |
| name: Detect Changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| app: ${{ steps.filter.outputs.app }} | |
| web: ${{ steps.filter.outputs.web }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check paths | |
| uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| app: | |
| - 'Sources/**' | |
| - 'Tests/**' | |
| - 'Package.swift' | |
| - 'Package.resolved' | |
| - 'scripts/**' | |
| - 'Makefile' | |
| - 'VocaMac.entitlements' | |
| web: | |
| - 'web/**' | |
| # Build and test Swift app (only when app source changes) | |
| build-and-test: | |
| name: Build & Test App | |
| needs: changes | |
| if: needs.changes.outputs.app == 'true' | |
| runs-on: macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Cache SPM dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: .build | |
| key: spm-${{ runner.os }}-${{ hashFiles('Package.resolved') }} | |
| restore-keys: | | |
| spm-${{ runner.os }}- | |
| - name: Build (Debug) | |
| run: swift build | |
| - name: Test | |
| run: swift test | |
| - name: Build (Release) | |
| run: swift build -c release | |
| - name: Initialize Xcode tools | |
| run: sudo xcodebuild -runFirstLaunch | |
| - name: Verify app bundle | |
| run: | | |
| ./scripts/build.sh release | |
| test -d VocaMac.app || exit 1 | |
| codesign -v VocaMac.app || echo "Codesign verification note: expected for ad-hoc CI builds" | |
| test -f VocaMac.app/Contents/Resources/Assets.car || echo "⚠️ Assets.car missing" | |
| echo "App bundle verified" | |
| # Build website (only when web files change) | |
| build-website: | |
| name: Build Website | |
| needs: changes | |
| if: needs.changes.outputs.web == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Hugo | |
| uses: peaceiris/actions-hugo@v3 | |
| with: | |
| hugo-version: 'latest' | |
| extended: true | |
| - name: Build Hugo site | |
| run: cd web && hugo --minify |