docs: add detailed first launch instructions and ad-hoc signing note … #4
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: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: macos-latest | |
| args: '--bundles dmg --target aarch64-apple-darwin' | |
| arch: 'silicon' | |
| - platform: macos-latest | |
| args: '--bundles dmg --target x86_64-apple-darwin' | |
| arch: 'intel' | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: aarch64-apple-darwin,x86_64-apple-darwin | |
| - name: Install frontend dependencies | |
| run: pnpm install | |
| - name: Build Tauri app | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tagName: ${{ github.ref_name }} | |
| releaseName: 'Better Shot ${{ github.ref_name }}' | |
| releaseBody: | | |
| ## Downloads | |
| | Platform | Architecture | Download | | |
| |----------|--------------|----------| | |
| | macOS | Apple Silicon (M1/M2/M3) | `bettershot_*_aarch64.dmg` | | |
| | macOS | Intel | `bettershot_*_x64.dmg` | | |
| ## Installation | |
| 1. Download the `.dmg` file for your Mac | |
| - **Apple Silicon** (M1, M2, M3): Download the `aarch64` version | |
| - **Intel Mac**: Download the `x64` version | |
| 2. Open the DMG and drag Better Shot to Applications | |
| 3. **First Launch** - Choose one method (recommended): | |
| **Option A: Right-Click Method** (Easiest) | |
| - Right-click the app → **Open** → Click **Open** in the dialog | |
| **Option B: Terminal Method** (One command, no dialogs) (recommended) | |
| ```bash | |
| xattr -d com.apple.quarantine /Applications/bettershot.app | |
| ``` | |
| 4. Grant Screen Recording permission when prompted in System Settings | |
| > **Note**: This is an ad-hoc signed indie app. macOS shows a warning for apps not notarized through Apple's $99/year developer program. The app is completely safe and open source. | |
| ## What's New | |
| - Initial release of Better Shot | |
| - Region, fullscreen, and window capture modes | |
| - Image editor with backgrounds and effects | |
| - Global keyboard shortcuts | |
| releaseDraft: true | |
| prerelease: false | |
| args: ${{ matrix.args }} | |
| publish: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Publish Release | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const { data: releases } = await github.rest.repos.listReleases({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| }); | |
| const tagName = context.ref.replace('refs/tags/', ''); | |
| const draftRelease = releases.find(r => r.draft && r.tag_name === tagName); | |
| if (draftRelease) { | |
| await github.rest.repos.updateRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: draftRelease.id, | |
| draft: false, | |
| }); | |
| console.log(`Published release: ${draftRelease.html_url}`); | |
| } else { | |
| console.log(`No draft release found for tag: ${tagName}`); | |
| } |