Skip to content

Commit 8aa2412

Browse files
committed
fix: macos code signing
Signed-off-by: Adam Setch <[email protected]>
1 parent 9022617 commit 8aa2412

File tree

3 files changed

+120
-100
lines changed

3 files changed

+120
-100
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,20 @@ on:
44
push:
55
branches:
66
- main
7-
- release/v**
87
pull_request:
9-
branches-ignore:
10-
- release/v*.*.* # macOS code-signing only works on `push` events, not `pull_request` events
8+
branches:
9+
- main
1110

1211
jobs:
12+
prepare:
13+
name: Prepare
14+
runs-on: ubuntu-latest
15+
if: ${{ !startsWith(github.head_ref, 'release/v') }}
16+
1317
lint:
1418
name: Lint App
1519
uses: ./.github/workflows/lint.yml
20+
needs: prepare
1621

1722
tests:
1823
name: Tests
@@ -23,14 +28,6 @@ jobs:
2328
name: Build
2429
uses: ./.github/workflows/build.yml
2530
needs: tests
26-
if: ${{ !startsWith(github.head_ref, 'release/v') }}
2731

28-
release:
29-
name: Release
30-
uses: ./.github/workflows/release.yml
31-
needs: tests
32-
if: ${{ startsWith(github.head_ref, 'release/v') }}
33-
permissions:
34-
contents: write
3532

3633

.github/workflows/publish.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Publish
2+
3+
on:
4+
workflow_call:
5+
workflow_dispatch: # For manually running release process to verify code-signing of artifacts
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
release-macos:
12+
name: Publish macOS (electron-builder)
13+
runs-on: macos-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: pnpm/action-setup@v3
18+
- uses: actions/setup-node@v4
19+
with:
20+
node-version-file: '.nvmrc'
21+
cache: 'pnpm'
22+
- run: pnpm install
23+
- run: pnpm build
24+
env:
25+
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
26+
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
27+
- run: pnpm prepare:remove-source-maps
28+
- run: pnpm package:macos --publish onTagOrDraft
29+
env:
30+
APPLEID_USERNAME: ${{ secrets.appleid_username }}
31+
APPLEID_PASSWORD: ${{ secrets.appleid_password }}
32+
APPLEID_TEAM_ID: ${{ secrets.appleid_teamid }}
33+
CSC_LINK: ${{ secrets.mac_certs }}
34+
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
35+
GH_TOKEN: ${{ secrets.github_token }}
36+
NOTARIZE: true
37+
- uses: actions/upload-artifact@v4
38+
with:
39+
name: Gitify-release-mac
40+
path: dist/
41+
overwrite: true
42+
43+
release-windows:
44+
name: Publish Windows (electron-builder)
45+
runs-on: windows-latest
46+
47+
steps:
48+
- uses: actions/checkout@v4
49+
- uses: pnpm/action-setup@v3
50+
- uses: actions/setup-node@v4
51+
with:
52+
node-version-file: '.nvmrc'
53+
cache: 'pnpm'
54+
- run: pnpm install
55+
- run: pnpm build
56+
env:
57+
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
58+
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
59+
- run: pnpm prepare:remove-source-maps
60+
- run: pnpm package:win --publish onTagOrDraft
61+
env:
62+
GH_TOKEN: ${{ secrets.github_token }}
63+
- uses: actions/upload-artifact@v4
64+
with:
65+
name: Gitify-release-win
66+
path: dist/
67+
overwrite: true
68+
69+
release-linux:
70+
name: Publish Linux (electron-builder)
71+
runs-on: ubuntu-latest
72+
73+
steps:
74+
- uses: actions/checkout@v4
75+
- uses: pnpm/action-setup@v3
76+
- uses: actions/setup-node@v4
77+
with:
78+
node-version-file: '.nvmrc'
79+
cache: 'pnpm'
80+
- run: pnpm install
81+
- run: pnpm build
82+
env:
83+
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
84+
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
85+
- run: pnpm prepare:remove-source-maps
86+
- run: pnpm package:linux --publish onTagOrDraft
87+
env:
88+
GH_TOKEN: ${{ secrets.github_token }}
89+
- uses: actions/upload-artifact@v4
90+
with:
91+
name: Gitify-release-linux
92+
path: dist/
93+
overwrite: true

.github/workflows/release.yml

Lines changed: 19 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,23 @@
11
name: Release
22

3-
on:
4-
workflow_call:
5-
workflow_dispatch: # For manually running release process to verify code-signing of artifacts
6-
7-
permissions:
8-
contents: write
3+
on:
4+
push:
5+
branches:
6+
- release/v*.*.*
97

108
jobs:
11-
release-macos:
12-
name: Publish macOS (electron-builder)
13-
runs-on: macos-latest
14-
15-
steps:
16-
- uses: actions/checkout@v4
17-
- uses: pnpm/action-setup@v3
18-
- uses: actions/setup-node@v4
19-
with:
20-
node-version-file: '.nvmrc'
21-
cache: 'pnpm'
22-
- run: pnpm install
23-
- run: pnpm build
24-
env:
25-
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
26-
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
27-
- run: pnpm prepare:remove-source-maps
28-
- run: pnpm package:macos --publish onTagOrDraft
29-
env:
30-
APPLEID_USERNAME: ${{ secrets.appleid_username }}
31-
APPLEID_PASSWORD: ${{ secrets.appleid_password }}
32-
APPLEID_TEAM_ID: ${{ secrets.appleid_teamid }}
33-
CSC_LINK: ${{ secrets.mac_certs }}
34-
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
35-
GH_TOKEN: ${{ secrets.github_token }}
36-
NOTARIZE: true
37-
- uses: actions/upload-artifact@v4
38-
with:
39-
name: Gitify-release-mac
40-
path: dist/
41-
overwrite: true
42-
43-
release-windows:
44-
name: Publish Windows (electron-builder)
45-
runs-on: windows-latest
46-
47-
steps:
48-
- uses: actions/checkout@v4
49-
- uses: pnpm/action-setup@v3
50-
- uses: actions/setup-node@v4
51-
with:
52-
node-version-file: '.nvmrc'
53-
cache: 'pnpm'
54-
- run: pnpm install
55-
- run: pnpm build
56-
env:
57-
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
58-
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
59-
- run: pnpm prepare:remove-source-maps
60-
- run: pnpm package:win --publish onTagOrDraft
61-
env:
62-
GH_TOKEN: ${{ secrets.github_token }}
63-
- uses: actions/upload-artifact@v4
64-
with:
65-
name: Gitify-release-win
66-
path: dist/
67-
overwrite: true
68-
69-
release-linux:
70-
name: Publish Linux (electron-builder)
71-
runs-on: ubuntu-latest
72-
73-
steps:
74-
- uses: actions/checkout@v4
75-
- uses: pnpm/action-setup@v3
76-
- uses: actions/setup-node@v4
77-
with:
78-
node-version-file: '.nvmrc'
79-
cache: 'pnpm'
80-
- run: pnpm install
81-
- run: pnpm build
82-
env:
83-
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
84-
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
85-
- run: pnpm prepare:remove-source-maps
86-
- run: pnpm package:linux --publish onTagOrDraft
87-
env:
88-
GH_TOKEN: ${{ secrets.github_token }}
89-
- uses: actions/upload-artifact@v4
90-
with:
91-
name: Gitify-release-linux
92-
path: dist/
93-
overwrite: true
9+
lint:
10+
name: Lint App
11+
uses: ./.github/workflows/lint.yml
12+
13+
tests:
14+
name: Tests
15+
uses: ./.github/workflows/test.yml
16+
needs: lint
17+
18+
release:
19+
name: Release
20+
uses: ./.github/workflows/release.yml
21+
needs: tests
22+
permissions:
23+
contents: write

0 commit comments

Comments
 (0)