Skip to content

Commit a8e4f77

Browse files
committed
Add github actions
1 parent d81890b commit a8e4f77

File tree

4 files changed

+176
-1
lines changed

4 files changed

+176
-1
lines changed

.github/.DS_Store

6 KB
Binary file not shown.

.github/FUNDING.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
github: falkTX
2+
liberapay: falkTX
3+
patreon: falkTX
4+
custom: "https://paypal.me/falkTX"

.github/workflows/build.yml

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
pull_request:
8+
branches:
9+
- '*'
10+
env:
11+
DEBIAN_FRONTEND: noninteractive
12+
13+
jobs:
14+
linux-arm64:
15+
runs-on: ubuntu-18.04
16+
steps:
17+
- uses: actions/checkout@v2
18+
with:
19+
submodules: recursive
20+
- name: Set up dependencies
21+
run: |
22+
sudo dpkg --add-architecture arm64 && \
23+
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list && \
24+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list && \
25+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list && \
26+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list && \
27+
sudo apt-get update -qq && \
28+
sudo apt-get install -yq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 qemu-user-static
29+
- name: Build linux arm64 cross-compiled
30+
env:
31+
CC: aarch64-linux-gnu-gcc
32+
CXX: aarch64-linux-gnu-g++
33+
LDFLAGS: -static-libgcc -static-libstdc++
34+
run: |
35+
make -j $(nproc)
36+
- uses: actions/upload-artifact@v2
37+
with:
38+
name: linux arm64
39+
path: |
40+
bin/*
41+
42+
linux-armhf:
43+
runs-on: ubuntu-18.04
44+
steps:
45+
- uses: actions/checkout@v2
46+
with:
47+
submodules: recursive
48+
- name: Set up dependencies
49+
run: |
50+
sudo dpkg --add-architecture armhf && \
51+
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list && \
52+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list && \
53+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list && \
54+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list && \
55+
sudo apt-get update -qq && \
56+
sudo apt-get install -yq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf qemu-user-static
57+
- name: Build linux armhf cross-compiled
58+
env:
59+
CC: arm-linux-gnueabihf-gcc
60+
CXX: arm-linux-gnueabihf-g++
61+
LDFLAGS: -static-libgcc -static-libstdc++
62+
run: |
63+
make -j $(nproc)
64+
- uses: actions/upload-artifact@v2
65+
with:
66+
name: linux armhf
67+
path: |
68+
bin/*
69+
70+
linux-x64:
71+
runs-on: ubuntu-18.04
72+
steps:
73+
- uses: actions/checkout@v2
74+
with:
75+
submodules: recursive
76+
- name: Set up dependencies
77+
run: |
78+
sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev
79+
- name: Build linux x64
80+
env:
81+
LDFLAGS: -static-libgcc -static-libstdc++
82+
run: |
83+
make -j $(nproc)
84+
- uses: actions/upload-artifact@v2
85+
with:
86+
name: linux x64
87+
path: |
88+
bin/*
89+
90+
macos-universal:
91+
runs-on: macos-10.15
92+
steps:
93+
- uses: actions/checkout@v2
94+
with:
95+
submodules: recursive
96+
- name: Fix up Xcode
97+
run: |
98+
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
99+
sudo xcode-select -s "/Applications/Xcode_12.3.app"
100+
- name: Build macOS universal
101+
env:
102+
CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
103+
CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
104+
LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
105+
run: |
106+
make NOOPT=true -j $(sysctl -n hw.logicalcpu) && \
107+
./dpf/utils/package-osx-bundles.sh
108+
- uses: actions/upload-artifact@v2
109+
with:
110+
name: macOS universal
111+
path: |
112+
*-macOS.pkg
113+
bin/*
114+
!bin/*-ladspa.dylib
115+
!bin/*-dssi.dylib
116+
!bin/lv2
117+
!bin/vst2
118+
119+
win32:
120+
runs-on: ubuntu-20.04
121+
steps:
122+
- uses: actions/checkout@v2
123+
with:
124+
submodules: recursive
125+
- name: Set up dependencies
126+
run: |
127+
sudo dpkg --add-architecture i386 && \
128+
sudo apt-get update -qq && \
129+
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
130+
- name: Build win32 cross-compiled
131+
env:
132+
CC: i686-w64-mingw32-gcc
133+
CXX: i686-w64-mingw32-g++
134+
EXE_WRAPPER: wine
135+
PKG_CONFIG: "false"
136+
WINEDEBUG: "-all"
137+
run: |
138+
make -j $(nproc)
139+
- uses: actions/upload-artifact@v2
140+
with:
141+
name: win32
142+
path: |
143+
bin/*
144+
!bin/*-ladspa.dll
145+
!bin/*-dssi.dll
146+
147+
win64:
148+
runs-on: ubuntu-20.04
149+
steps:
150+
- uses: actions/checkout@v2
151+
with:
152+
submodules: recursive
153+
- name: Set up dependencies
154+
run: |
155+
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
156+
- name: Build win64 cross-compiled
157+
env:
158+
CC: x86_64-w64-mingw32-gcc
159+
CXX: x86_64-w64-mingw32-g++
160+
EXE_WRAPPER: wine
161+
PKG_CONFIG: "false"
162+
WINEDEBUG: "-all"
163+
run: |
164+
make -j $(nproc)
165+
- uses: actions/upload-artifact@v2
166+
with:
167+
name: win64
168+
path: |
169+
bin/*
170+
!bin/*-ladspa.dll
171+
!bin/*-dssi.dll

0 commit comments

Comments
 (0)