Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/build-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ concurrency:

jobs:
macos:
name: macOS arm64 desktop artifacts
runs-on: macos-15
name: macOS arm64 + x64 desktop artifacts
runs-on: macos-15-intel
timeout-minutes: 45

steps:
Expand All @@ -51,8 +51,8 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm

- name: Verify arm64 runner
run: test "$(uname -m)" = "arm64"
- name: Verify Intel runner
run: test "$(uname -m)" = "x86_64"

- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
exit 1
fi

- name: Package arm64 desktop artifacts
- name: Package arm64 and x64 desktop artifacts
env:
CSC_LINK: ${{ secrets.MACOS_CERTIFICATE_P12 }}
CSC_KEY_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:
- name: Upload desktop workflow artifacts
uses: actions/upload-artifact@v4
with:
name: bb-desktop-macos-arm64
name: bb-desktop-macos-arm64-x64
path: |
apps/desktop/release/*.dmg
apps/desktop/release/*.zip
Expand Down Expand Up @@ -250,7 +250,7 @@ jobs:
{
echo "## bb desktop artifacts"
echo
echo "- arm64 macOS .dmg, .zip, latest-mac.yml, and desktop-version.json uploaded as workflow artifacts"
echo "- arm64 and x64 macOS .dmg/.zip artifacts, latest-mac.yml, and desktop-version.json uploaded as workflow artifacts"
echo "- version: ${VERSION}"
echo "- prerelease version: ${IS_PRERELEASE}"
echo "- stable release publication requested and allowed: ${SHOULD_PUBLISH}"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/publish-bb-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ jobs:
name: Publish bb Nightly desktop
if: ${{ github.event_name == 'schedule' || (inputs.npm_tag == 'nightly' && inputs.dry_run == false) }}
needs: publish
runs-on: macos-15
runs-on: macos-15-intel
timeout-minutes: 45
permissions:
contents: write
Expand All @@ -246,8 +246,8 @@ jobs:
node-version: 22.x
cache: pnpm

- name: Verify arm64 runner
run: test "$(uname -m)" = "arm64"
- name: Verify Intel runner
run: test "$(uname -m)" = "x86_64"

- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
Expand Down Expand Up @@ -298,7 +298,7 @@ jobs:
exit 1
fi

- name: Package signed arm64 nightly desktop artifacts
- name: Package signed arm64 and x64 nightly desktop artifacts
env:
CSC_LINK: ${{ secrets.MACOS_CERTIFICATE_P12 }}
CSC_KEY_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
Expand All @@ -317,7 +317,7 @@ jobs:
- name: Upload nightly desktop workflow artifacts
uses: actions/upload-artifact@v4
with:
name: bb-nightly-desktop-macos-arm64-${{ steps.nightly_version.outputs.version }}
name: bb-nightly-desktop-macos-arm64-x64-${{ steps.nightly_version.outputs.version }}
retention-days: 14
path: |
apps/desktop/release/*.dmg
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The recommended way to start using bb is the desktop app:

**[Download the latest desktop app](https://github.com/get-bb/bb/releases/tag/desktop-latest)**

The desktop build is currently macOS Apple Silicon (arm64) only. Intel Mac and
The desktop build supports macOS on Apple Silicon (arm64) and Intel (x64).
Linux users should run bb with `npx` instead. On Windows, run bb inside
[WSL2 (Windows Subsystem for Linux)](https://learn.microsoft.com/windows/wsl/install):
install WSL2 first, then run the same `npx` command below from your WSL2 (Linux)
Expand Down
3 changes: 2 additions & 1 deletion apps/desktop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ pnpm exec turbo run smoke:packaged --filter=@bb/desktop
```

Artifacts are written under `apps/desktop/release/`. The desktop build is
macOS-only and Apple Silicon arm64-only. Without signing secrets, local builds
macOS-only and produces separate Apple Silicon arm64 and Intel x64 artifacts.
Without signing secrets, local builds
sign with a code-signing identity auto-discovered from the keychain and skip
notarization. A valid signature matters even for local builds: macOS
provenance-tracks unsigned apps, forcing syspolicyd to evaluate every exec in
Expand Down
4 changes: 2 additions & 2 deletions apps/desktop/electron-builder.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@
"target": [
{
"target": "dmg",
"arch": ["arm64"]
"arch": ["arm64", "x64"]
},
{
"target": "zip",
"arch": ["arm64"]
"arch": ["arm64", "x64"]
}
]
},
Expand Down
4 changes: 2 additions & 2 deletions apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
"scripts": {
"build": "node scripts/build.mjs",
"clean": "rimraf dist release",
"desktop:build": "pnpm run build && node scripts/run-electron-builder.mjs --mac --arm64 --publish always",
"desktop:build": "pnpm run build && node scripts/run-electron-builder.mjs --mac --publish always",
"desktop:version-feed": "tsx scripts/generate-version-feed.mts",
"dev": "pnpm run prepare-runtime && pnpm run build && node --conditions=source --import tsx scripts/run-electron-dev.mjs",
"dist": "pnpm run prepare-runtime && pnpm run desktop:build",
"package": "pnpm run prepare-runtime && pnpm run build && node scripts/run-electron-builder.mjs --mac --dir --arm64",
"package": "pnpm run prepare-runtime && pnpm run build && node scripts/run-electron-builder.mjs --mac --dir",
"prepare-runtime": "pnpm exec turbo run build --filter=bb-app --output-logs=new-only",
"smoke:packaged": "node scripts/smoke-packaged-app.mjs",
"start": "pnpm run package && node scripts/run-packaged-app.mjs",
Expand Down