Skip to content

Create workflow to sign mac app + replace bundle ID#52

Draft
bgoncal wants to merge 4 commits into
home-assistant:mainfrom
bgoncal:mac-signing-notarize
Draft

Create workflow to sign mac app + replace bundle ID#52
bgoncal wants to merge 4 commits into
home-assistant:mainfrom
bgoncal:mac-signing-notarize

Conversation

@bgoncal

@bgoncal bgoncal commented Jul 13, 2026

Copy link
Copy Markdown
Member

Description

Add workflow to sign and notarize the mac app, the secrets below still need to be added

Secret Value
APPLE_CERTIFICATE base64 of the Developer ID .p12
APPLE_CERTIFICATE_PASSWORD that .p12's password
APPLE_SIGNING_IDENTITY Developer ID Application: Open Home Foundation (GUYFAK8DC6)
KEYCHAIN_PASSWORD any strong string
APPLE_API_ISSUER App Store Connect API Issuer ID (Pending creation)
APPLE_API_KEY_ID App Store Connect API Key ID
APPLE_API_KEY_P8 base64 of the AuthKey_XXXX.p8

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/CD changes

Related Issues

Testing

  • Unit tests added/updated
  • E2E tests added/updated
  • Manually tested on macOS
  • Manually tested on Windows
  • Manually tested on Linux

Screenshots

Checklist

  • My code follows the project's code style
  • I have run cargo fmt and npm run lint
  • I have added tests for my changes
  • All new and existing tests pass
  • I have updated documentation if needed
  • My commits follow conventional commit format

Copilot AI review requested due to automatic review settings July 13, 2026 11:35
@codecov-commenter

codecov-commenter commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.54%. Comparing base (016a565) to head (d4f36ff).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   89.54%   89.54%           
=======================================
  Files          29       29           
  Lines       10910    10910           
  Branches       84       84           
=======================================
  Hits         9769     9769           
  Misses       1141     1141           
Flag Coverage Δ
backend 92.01% <ø> (ø)
frontend 84.86% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a manually-triggered GitHub Actions workflow to build, sign, notarize, and publish a macOS DMG for the Tauri-based Home Assistant Installer, and updates the app’s bundle identifier in the Tauri config to match the new App Store Connect setup.

Changes:

  • Changed the Tauri identifier (bundle ID) used for macOS packaging/signing.
  • Added a release-mac.yml workflow that imports a Developer ID cert into an ephemeral keychain, builds a universal macOS bundle, notarizes/staples the DMG, verifies, and uploads the DMG as an artifact.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
crates/hai-desktop/tauri.conf.json Updates the bundle identifier used by Tauri for the macOS app bundle.
.github/workflows/release-mac.yml Introduces a macOS release workflow for signing + notarization + DMG artifact upload.

Comment thread crates/hai-desktop/tauri.conf.json Outdated
Comment thread .github/workflows/release-mac.yml
Comment on lines +85 to +88
APP=$(find target/universal-apple-darwin/release/bundle/macos -maxdepth 1 -name "*.app" | head -1)
DMG=$(find target/universal-apple-darwin/release/bundle/dmg -maxdepth 1 -name "*.dmg" | head -1)
echo "App: $APP"
echo "DMG: $DMG"
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 13, 2026 11:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comment on lines +9 to +13
release-macos:
name: Release macOS (signed + notarized)
runs-on: macos-latest
permissions:
contents: read
Comment thread .github/workflows/release-mac.yml Outdated
Comment thread crates/hai-desktop/tauri.conf.json Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 13, 2026 11:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment on lines +9 to +13
release-macos:
name: Release macOS (signed + notarized)
runs-on: macos-latest
permissions:
contents: read
Comment thread crates/hai-desktop/tauri.conf.json Outdated
Copilot AI review requested due to automatic review settings July 13, 2026 11:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.

Comment on lines +9 to +13
release-macos:
name: Release macOS (signed + notarized)
runs-on: macos-latest
permissions:
contents: read
KEYCHAIN_PATH="$RUNNER_TEMP/app-signing.keychain-db"
CERT_PATH="$RUNNER_TEMP/certificate.p12"

echo "$APPLE_CERTIFICATE" | base64 --decode > "$CERT_PATH"
env:
APPLE_API_KEY_P8: ${{ secrets.APPLE_API_KEY_P8 }}
run: |
echo "$APPLE_API_KEY_P8" | base64 --decode > "$RUNNER_TEMP/AuthKey.p8"
@bgoncal bgoncal changed the title Create CI to sign mac app + replace bundle ID Create workflow to sign mac app + replace bundle ID Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants