forked from Electron-Cash/Electron-Cash
-
Notifications
You must be signed in to change notification settings - Fork 0
121 lines (118 loc) · 3.29 KB
/
build.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
name: Building
on:
workflow_dispatch:
inputs:
appimage:
type: boolean
description: Build AppImage
default: true
sdist:
type: boolean
description: Build Linux sdist
default: true
win32:
type: boolean
description: Build Win32
default: true
android:
type: boolean
description: Build Android
default: true
# MacOS Building is expensive (in terms of minutes charged)
# but also unnecessary since this rarely breaks for us in practice.
macos:
type: boolean
description: Build macOS
default: false
schedule:
- cron: '0 0 * * 1'
jobs:
build_appimage:
if: (github.event.inputs.appimage == 'true' || github.event_name == 'schedule')
env:
GIT_REPO: ${{ github.server_url }}/${{ github.repository }}
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Check out source
uses: actions/checkout@v3
with:
submodules: true
- name: Build AppImage
run: contrib/build-linux/appimage/build.sh ${{ github.ref_name }}
- name: Archive build
uses: actions/upload-artifact@v3
with:
path: dist/Electron-Cash*.AppImage
build_sdist:
if: (github.event.inputs.sdist == 'true' || github.event_name == 'schedule')
env:
GIT_REPO: ${{ github.server_url }}/${{ github.repository }}
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Check out source
uses: actions/checkout@v3
with:
submodules: true
- name: Build srcdist
run: contrib/build-linux/srcdist_docker/build.sh ${{ github.ref_name }}
- name: Archive build
uses: actions/upload-artifact@v3
with:
path: |
dist/Electron-Cash*.zip
dist/Electron-Cash*.tar.gz
build_win32:
if: (github.event.inputs.win32 == 'true' || github.event_name == 'schedule')
env:
GIT_REPO: ${{ github.server_url }}/${{ github.repository }}
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- name: Check out source
uses: actions/checkout@v3
with:
submodules: true
- name: Build wine
run: contrib/build-wine/build.sh ${{ github.ref_name }}
- name: Archive build
uses: actions/upload-artifact@v3
with:
path: dist/Electron-Cash*.exe
build_android:
if: (github.event.inputs.android == 'true' || github.event_name == 'schedule')
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Check out source
uses: actions/checkout@v3
with:
submodules: true
- name: Build Android
run: |
cp android/dummykeystore.jks android/keystore.jks
android/build.sh
- name: Archive build
uses: actions/upload-artifact@v3
with:
path: android/release/*.apk
build_macos:
if: (github.event.inputs.macos == 'true')
runs-on: macos-latest
timeout-minutes: 60
steps:
- name: Check out source
uses: actions/checkout@v3
with:
submodules: true
- name: Build macOS
working-directory: contrib/osx
run: |
brew install coreutils
brew install pyenv
./make_osx
- name: Archive build
uses: actions/upload-artifact@v3
with:
path: dist/Electron-Cash*.dmg