Skip to content

Commit f49cc71

Browse files
MarkoVcodeclaude
andcommitted
ci: Build macOS artifacts on Linux runner using ZIP format
Consolidate macOS builds to the Linux runner now that we're using ZIP-only format which works cross-platform. This eliminates the need for expensive macOS runners. Changes: - Remove separate build-macos-x64 and build-macos-arm64 jobs - Add macOS build step to build-linux job (renamed to build-linux-and-macos) - Build both x64 and ARM64 macOS ZIPs on Ubuntu runner - Update artifact upload to include both Linux and macOS packages - Update publish-release dependencies to use consolidated job Benefits: - Faster builds (Linux runners start quicker than macOS) - Lower cost (Linux runners are 10x cheaper than macOS) - Simplified workflow with fewer jobs (4 → 2 build jobs) - Consistent cross-platform build process Build outputs from Linux runner: - Linux: AppImage, deb, rpm, snap - macOS: x64 and ARM64 ZIP archives Both platforms built from single Ubuntu runner using electron-builder's cross-platform packaging capabilities. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 9aefce4 commit f49cc71

File tree

1 file changed

+7
-94
lines changed

1 file changed

+7
-94
lines changed

.github/workflows/brunon-release.yml

Lines changed: 7 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ defaults:
1010
shell: bash
1111

1212
jobs:
13-
build-linux:
14-
name: Build Linux Packages
13+
build-linux-and-macos:
14+
name: Build Linux and macOS Packages
1515
runs-on: ubuntu-latest
1616
permissions:
1717
contents: read
@@ -50,12 +50,15 @@ jobs:
5050
- name: Build BrunoN Linux packages
5151
run: npm run release:brunon:linux
5252

53+
- name: Build BrunoN macOS packages (ZIP only, cross-platform)
54+
run: npm run release:brunon:mac
55+
5356
- name: List artifacts
5457
run: ls -lh packages/bruno-electron/out/
5558

5659
- uses: actions/upload-artifact@v4
5760
with:
58-
name: brunon-linux
61+
name: brunon-linux-and-macos
5962
path: packages/bruno-electron/out/**
6063
if-no-files-found: error
6164

@@ -103,101 +106,11 @@ jobs:
103106
path: packages/bruno-electron/out/**
104107
if-no-files-found: error
105108

106-
build-macos-x64:
107-
name: Build macOS (Intel)
108-
runs-on: macos-15
109-
permissions:
110-
contents: read
111-
env:
112-
CSC_IDENTITY_AUTO_DISCOVERY: false
113-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
114-
steps:
115-
- uses: actions/checkout@v5
116-
with:
117-
fetch-depth: 0
118-
119-
- uses: actions/setup-node@v5
120-
with:
121-
node-version-file: '.nvmrc'
122-
cache: npm
123-
cache-dependency-path: package-lock.json
124-
125-
- name: Install node dependencies
126-
run: npm ci --legacy-peer-deps
127-
128-
- name: Build shared libraries
129-
run: |
130-
npm run build:graphql-docs
131-
npm run build:bruno-common
132-
npm run build:bruno-query
133-
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
134-
npm run build:bruno-converters
135-
npm run build:bruno-requests
136-
npm run build:bruno-filestore
137-
138-
- name: Build BrunoN macOS (Intel) packages
139-
run: npm run release:brunon:mac -- --x64
140-
141-
- name: List artifacts
142-
run: ls -lh packages/bruno-electron/out/
143-
144-
- uses: actions/upload-artifact@v4
145-
with:
146-
name: brunon-macos-x64
147-
path: packages/bruno-electron/out/**
148-
if-no-files-found: error
149-
150-
build-macos-arm64:
151-
name: Build macOS (Apple Silicon)
152-
runs-on: macos-15
153-
permissions:
154-
contents: read
155-
env:
156-
CSC_IDENTITY_AUTO_DISCOVERY: false
157-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
158-
steps:
159-
- uses: actions/checkout@v5
160-
with:
161-
fetch-depth: 0
162-
163-
- uses: actions/setup-node@v5
164-
with:
165-
node-version-file: '.nvmrc'
166-
cache: npm
167-
cache-dependency-path: package-lock.json
168-
169-
- name: Install node dependencies
170-
run: npm ci --legacy-peer-deps
171-
172-
- name: Build shared libraries
173-
run: |
174-
npm run build:graphql-docs
175-
npm run build:bruno-common
176-
npm run build:bruno-query
177-
npm run sandbox:bundle-libraries --workspace=packages/bruno-js
178-
npm run build:bruno-converters
179-
npm run build:bruno-requests
180-
npm run build:bruno-filestore
181-
182-
- name: Build BrunoN macOS (Apple Silicon) packages
183-
run: npm run release:brunon:mac -- --arm64
184-
185-
- name: List artifacts
186-
run: ls -lh packages/bruno-electron/out/
187-
188-
- uses: actions/upload-artifact@v4
189-
with:
190-
name: brunon-macos-arm64
191-
path: packages/bruno-electron/out/**
192-
if-no-files-found: error
193-
194109
publish-release:
195110
name: Create GitHub Release
196111
needs:
197-
- build-linux
112+
- build-linux-and-macos
198113
- build-windows
199-
- build-macos-x64
200-
- build-macos-arm64
201114
runs-on: ubuntu-latest
202115
permissions:
203116
contents: write

0 commit comments

Comments
 (0)