Skip to content

Commit 49a6bfe

Browse files
committed
build github actions
1 parent 72eb9cb commit 49a6bfe

1 file changed

Lines changed: 102 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: Building
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
inputs:
7+
appimage:
8+
type: boolean
9+
description: Build AppImage
10+
default: true
11+
sdist:
12+
type: boolean
13+
description: Build Linux sdist
14+
default: true
15+
win32:
16+
type: boolean
17+
description: Build Win32
18+
default: true
19+
android:
20+
type: boolean
21+
description: Build Android
22+
default: true
23+
# MacOS Building is expensive (in terms of minutes charged)
24+
# but also unnecessary since this rarely breaks for us in practice.
25+
macos:
26+
type: boolean
27+
description: Build macOS
28+
default: false
29+
30+
schedule:
31+
- cron: '0 0 * * 1'
32+
33+
jobs:
34+
build_appimage:
35+
if: (github.event.inputs.appimage == 'true' || github.event_name == 'schedule')
36+
runs-on: ubuntu-latest
37+
timeout-minutes: 120
38+
steps:
39+
- name: Check out source
40+
uses: actions/checkout@v3
41+
with:
42+
submodules: true
43+
- name: Build AppImage
44+
run: contrib/build-linux/appimage/build.sh
45+
- name: Archive build
46+
uses: actions/upload-artifact@v4
47+
with:
48+
name: ElectrumABC-AppImage-${{ github.ref_name }}
49+
path: dist/ElectrumABC*.AppImage
50+
build_sdist:
51+
if: (github.event.inputs.sdist == 'true' || github.event_name == 'schedule')
52+
runs-on: ubuntu-latest
53+
timeout-minutes: 30
54+
steps:
55+
- name: Check out source
56+
uses: actions/checkout@v3
57+
with:
58+
submodules: true
59+
- name: Build srcdist
60+
run: contrib/build-linux/srcdist_docker/build.sh
61+
- name: Archive build
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: ElectrumABC-sdist-${{ github.ref_name }}
65+
path: |
66+
dist/electrumabc*.zip
67+
dist/electrumabc*.tar.gz
68+
build_win32:
69+
if: (github.event.inputs.win32 == 'true' || github.event_name == 'schedule')
70+
runs-on: ubuntu-latest
71+
timeout-minutes: 120
72+
steps:
73+
- name: Check out source
74+
uses: actions/checkout@v3
75+
with:
76+
submodules: true
77+
- name: Build wine
78+
run: contrib/build-wine/build.sh
79+
- name: Archive build
80+
uses: actions/upload-artifact@v4
81+
with:
82+
name: ElectrumABC-Win64-${{ github.ref_name }}
83+
path: dist/ElectrumABC*.exe
84+
build_macos:
85+
if: (github.event.inputs.macos == 'true')
86+
runs-on: macos-15-intel
87+
timeout-minutes: 60
88+
steps:
89+
- name: Check out source
90+
uses: actions/checkout@v3
91+
with:
92+
submodules: true
93+
- name: Build macOS
94+
working-directory: contrib/osx
95+
run: |
96+
brew install coreutils
97+
brew install pyenv
98+
./make_osx
99+
- name: Archive build
100+
uses: actions/upload-artifact@v4
101+
with:
102+
path: dist/ElectrumABC*.dmg

0 commit comments

Comments
 (0)