-
-
Notifications
You must be signed in to change notification settings - Fork 251
134 lines (120 loc) · 4.06 KB
/
build-desktop-apps.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
name: "[Build] suite-desktop apps"
on:
push:
branches:
- develop
paths-ignore:
- "suite-native/**"
- "docs/**"
- "docker/**"
- "ci/**"
- ".vscode/**"
- ".maestro/**"
pull_request:
types: [labeled]
workflow_dispatch:
env:
DESKTOP_APP_NAME: "Trezor-Suite"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
suite-desktop:
if: (github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'build-desktop') || (github.event_name == 'push' && github.ref == 'refs/heads/develop')) && github.repository == 'trezor/trezor-suite'
name: Build suite-desktop-${{ matrix.platform }}
runs-on: ${{ matrix.os }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-14]
include:
- os: ubuntu-latest
platform: linux
- os: macos-14
platform: mac
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
lfs: true
submodules: true
- name: Install node and yarn
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: Install missing Python deps (to build bcrypto lib in Node)
if: matrix.os == 'macos-14'
run: brew install python-setuptools
- name: Install deps and build libs
run: |
yarn install --immutable
yarn message-system-sign-config
yarn workspace @trezor/suite-data build:lib
yarn workspace @trezor/transport-bridge build:lib
- name: Build ${{ matrix.platform }} suite-desktop
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
yarn workspace @trezor/suite-desktop build:${{ matrix.platform }}
bash packages/suite-desktop-core/scripts/gnupg-sign.sh
mv packages/suite-desktop/build-electron/* .
- name: Upload suite-desktop production artifacts
uses: actions/upload-artifact@v4
with:
name: suite-desktop-${{ matrix.platform }}
path: |
Trezor-Suite*
latest*.yml
retention-days: 3
- name: Upload suite-desktop mac-arm artifact
if: matrix.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: suite-desktop-mac-arm-dmg
path: |
Trezor-Suite-*-mac-arm64.dmg
retention-days: 3
suite-desktop-win:
if: (github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'build-desktop') || (github.event_name == 'push' && github.ref == 'refs/heads/develop')) && github.repository == 'trezor/trezor-suite'
name: Build suite-desktop-win
runs-on: ubuntu-latest
timeout-minutes: 20
env:
platform: win
container:
image: electronuserland/builder:18-wine
options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
lfs: true
submodules: true
- name: Install node and yarn
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: Install deps and build libs
run: |
yarn install --immutable
yarn message-system-sign-config
- name: Build libs
run: |
yarn workspace @trezor/suite-data build:lib
yarn workspace @trezor/transport-bridge build:lib
- name: Build ${{env.platform}} suite-desktop
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
yarn workspace @trezor/suite-desktop build:${{env.platform}}
bash packages/suite-desktop-core/scripts/gnupg-sign.sh
mv packages/suite-desktop/build-electron/* .
- name: Upload suite-desktop production artifacts
uses: actions/upload-artifact@v4
with:
name: suite-desktop-${{env.platform}}
path: |
Trezor-Suite*
latest*.yml
retention-days: 3