@@ -8,9 +8,27 @@ permissions:
88 contents : write
99
1010jobs :
11- release-macos :
12- name : Publish macOS (electron-builder)
13- runs-on : macos-latest
11+ release :
12+ name : Publish ${{ matrix.platform }} (electron-builder)
13+ strategy :
14+ matrix :
15+ include :
16+ - os : macos-latest
17+ platform : macOS
18+ package-cmd : pnpm package:macos --publish onTagOrDraft
19+ artifact-name : Gitify-release-mac
20+ use-apple-notarization : true
21+ - os : windows-latest
22+ platform : Windows
23+ package-cmd : pnpm package:win --publish onTagOrDraft
24+ artifact-name : Gitify-release-win
25+ use-apple-notarization : false
26+ - os : ubuntu-latest
27+ platform : Linux
28+ package-cmd : pnpm package:linux --publish onTagOrDraft
29+ artifact-name : Gitify-release-linux
30+ use-apple-notarization : false
31+ runs-on : ${{ matrix.os }}
1432
1533 steps :
1634 - name : Checkout
@@ -34,96 +52,21 @@ jobs:
3452 OAUTH_CLIENT_ID : ${{ secrets.OAUTH_CLIENT_ID }}
3553 OAUTH_CLIENT_SECRET : ${{ secrets.OAUTH_CLIENT_SECRET }}
3654
37- - name : Package and publish for macOS
38- run : pnpm package:macos --publish onTagOrDraft
55+ - name : Package and publish for ${{ matrix.platform }}
56+ run : ${{ matrix. package-cmd }}
3957 env :
58+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
59+ # For macOS
4060 APPLE_ID_USERNAME : ${{ secrets.APPLE_ID_USERNAME }}
4161 APPLE_ID_PASSWORD : ${{ secrets.APPLE_ID_PASSWORD }}
4262 APPLE_ID_TEAM_ID : ${{ secrets.APPLE_ID_TEAM_ID }}
4363 CSC_LINK : ${{ secrets.CSC_LINK }}
4464 CSC_KEY_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
45- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
46- NOTARIZE : true
47-
48- - name : Upload artifacts
49- uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
50- with :
51- name : Gitify-release-mac
52- path : dist/
53- overwrite : true
54-
55- release-windows :
56- name : Publish Windows (electron-builder)
57- runs-on : windows-latest
58-
59- steps :
60- - name : Checkout
61- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
62-
63- - name : Setup pnpm
64- uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
65-
66- - name : Setup Node
67- uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
68- with :
69- node-version-file : .nvmrc
70- cache : pnpm
71-
72- - name : Install dependencies
73- run : pnpm install --frozen-lockfile
74-
75- - name : Build application
76- run : pnpm build
77- env :
78- OAUTH_CLIENT_ID : ${{ secrets.OAUTH_CLIENT_ID }}
79- OAUTH_CLIENT_SECRET : ${{ secrets.OAUTH_CLIENT_SECRET }}
80-
81- - name : Package and publish for Windows
82- run : pnpm package:win --publish onTagOrDraft
83- env :
84- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
85-
86- - name : Upload artifacts
87- uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
88- with :
89- name : Gitify-release-win
90- path : dist/
91- overwrite : true
92-
93- release-linux :
94- name : Publish Linux (electron-builder)
95- runs-on : ubuntu-latest
96-
97- steps :
98- - name : Checkout
99- uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
100-
101- - name : Setup pnpm
102- uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
103-
104- - name : Setup Node
105- uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
106- with :
107- node-version-file : .nvmrc
108- cache : pnpm
109-
110- - name : Install dependencies
111- run : pnpm install --frozen-lockfile
112-
113- - name : Build application
114- run : pnpm build
115- env :
116- OAUTH_CLIENT_ID : ${{ secrets.OAUTH_CLIENT_ID }}
117- OAUTH_CLIENT_SECRET : ${{ secrets.OAUTH_CLIENT_SECRET }}
118-
119- - name : Package and publish for Linux
120- run : pnpm package:linux --publish onTagOrDraft
121- env :
122- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
65+ NOTARIZE : ${{ matrix.use-apple-notarization }}
12366
12467 - name : Upload artifacts
12568 uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
12669 with :
127- name : Gitify-release-linux
70+ name : ${{ matrix.artifact-name }}
12871 path : dist/
12972 overwrite : true
0 commit comments