forked from ciderapp/Cider
-
Notifications
You must be signed in to change notification settings - Fork 0
149 lines (128 loc) · 4.78 KB
/
build-macos.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
name: "macOS build"
on:
push:
branches: [ main, stable ]
paths-ignore:
- 'README.md'
- 'SECURITY.md'
- '.gitmodules'
- '.gitignore'
- 'LICENSE'
- 'cider.lock'
jobs:
build-macos:
name: build-macos
runs-on: macos-11
permissions:
actions: read
contents: write
security-events: write
strategy:
fail-fast: false
matrix:
node-version: [ 18 ]
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '12.4'
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2.2.4
with:
version: 7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Run Version Script
env:
GH_REQUEST_TOKEN: ${{ secrets.RELEASE_TOKEN }}
run: |
sudo chmod +x resources/version.sh && ./resources/version.sh || true
- name: Clear node_airtunes2 cache
run: rm -rf ~/Library/pnpm/store/v3/tmp/cf5bc2de2629636ca224995234b8eaa1 || true
- name: # to EVS
run: |
python3 -m pip install --upgrade castlabs-evs
python3 -m castlabs_evs.account refresh -A ${{ secrets.EVS_ACCOUNT_NAME }} -P ${{ secrets.EVS_PASSWD }}
- name: Setup Environment
run: brew install automake #libtool autoconf
- name: Install and Configure Node Modules
run: |
pnpm install
cp resources/verror-types node_modules/@types/verror/index.d.ts
cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js
rm -r node_modules/pouchdb-node/node_modules/leveldown || true
rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown || true
- name: Build the DMG
env:
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
APPLE_ID: ${{ secrets.APPLEID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLEIDPASS }}
PSC_NAME: ${{ secrets.PSC_NAME }}
DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
run: pnpm dist:universalNotWorking -p never
- name: Add license to DMG
run: npx dmg-license resources/license.json dist/*.dmg
- name: Upload macOS Latest
uses: svenstaro/upload-release-action@v2
with:
repo_name: ciderapp/cider-releases
repo_token: ${{ secrets.RELEASE_TOKEN }}
file: dist/latest-mac.yml
tag: v${{ env.RELEASE_VERSION }}
- name: Import
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.CSC_LINK }}
p12-password: ${{ secrets.CSC_KEY_PASSWORD }}
- name: Build the PKG
env:
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
run: |
pkgbuild --component dist/mac-universal/Cider.app --install-location /Applications dist/Cider-${{ env.APP_VERSION }}-universal.pkg --sign ${{ secrets.PSC_NAME }}
xcrun altool --notarize-app --primary-bundle-id com.ciderapp.cider -f dist/Cider*.pkg --username ${{ secrets.APPLEID }} --password ${{ secrets.APPLEIDPASS }}
sleep 5m
xcrun stapler staple dist/*.pkg || true
- name: Upload a Build Artifact
uses: actions/upload-artifact@v2.2.3
with:
name: Cider-macOS-${{ env.APP_VERSION }}
path: |
dist/*.dmg
dist/*.pkg
dist/latest-mac.yml
- name: Upload Files (DMG)
uses: svenstaro/upload-release-action@v2
with:
repo_name: ciderapp/cider-releases
repo_token: ${{ secrets.RELEASE_TOKEN }}
file: dist/Cider-${{ env.APP_VERSION }}-universal.dmg
tag: v${{ env.RELEASE_VERSION }}
- name: Upload Files (PKG)
uses: svenstaro/upload-release-action@v2
with:
repo_name: ciderapp/cider-releases
repo_token: ${{ secrets.RELEASE_TOKEN }}
file: dist/Cider-${{ env.APP_VERSION }}-universal.pkg
tag: v${{ env.RELEASE_VERSION }}
- name: Trigger Bot Sync (main)
uses: indiesdev/curl@v1.1
with:
url: http://129.146.42.180/api/v1/github/sync/main
log-response: true
timeout: 60000
- name: Trigger Bot Sync (stable)
uses: indiesdev/curl@v1.1
with:
url: http://129.146.42.180/api/v1/github/sync/stable
log-response: true
timeout: 60000