-
-
Notifications
You must be signed in to change notification settings - Fork 109
142 lines (114 loc) · 4.27 KB
/
release.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
name: Release
on:
push:
branches:
- "main"
workflow_dispatch:
jobs:
publish_windows:
name: "Publish Windows"
runs-on: windows-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js and NPM
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
# npm ci is better, but requires package-lock.json file
run: npm install
- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
run: npm run release
publish_linux:
name: "Publish Linux x64"
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js and NPM
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install libraries
run: sudo apt-get install libfontconfig1-dev --fix-missing
- name: Install dependencies
run: npm install
- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run release
# This needs it's own build
# https://github.com/ChurchApps/FreeShow/issues/562
publish_linux_arm:
name: "Publish Linux arm64"
runs-on: ubuntu-24.04-arm
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js and NPM
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install libraries
run: sudo apt-get install libfontconfig1-dev --fix-missing
- name: Install dependencies
run: npm install
- name: Install FPM
run: |
sudo apt-get update
sudo apt-get install ruby ruby-dev build-essential
sudo gem install --no-document fpm
# wait because this will only publish if the draft exists
- name: Sleep for 8 minutes
run: sleep 480s
shell: bash
- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USE_SYSTEM_FPM: true
run: npm run release:arm64
publish_mac:
name: "Publish MacOS"
runs-on: macos-15
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js and NPM
uses: actions/setup-node@v4
with:
node-version: 20
# Change Python version: https://github.com/nodejs/node-gyp/issues/2869
- name: Install Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
# This probably does not make any difference.
- name: Install node-gyp
run: npm install -g node-gyp
- name: Install dependencies
run: npm install
- name: Install dmg-license
run: npm i dmg-license
# for some reason the build command don't continue after the rollup build
# - name: Sleep for 5 minutes
# run: sleep 300
# shell: bash
- name: Build and release app
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLE_ID: ${{ secrets.APPLEID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLEIDPASS }}
APPLE_TEAM_ID: ${{ secrets.APPLETEAMID }}
DEBUG: electron-builder
uses: nick-fields/retry@v3
with:
timeout_minutes: 8
max_attempts: 5
command: npm run release