Skip to content

Commit 406ca02

Browse files
committed
Add github actions, target latest dpf
1 parent 5aa3b32 commit 406ca02

3 files changed

Lines changed: 194 additions & 1 deletion

File tree

.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: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
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+
- name: Set sha8
37+
id: slug
38+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
39+
- uses: actions/upload-artifact@v2
40+
with:
41+
name: ${{ github.event.repository.name }}-linux-arm64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
42+
path: |
43+
bin/*
44+
45+
linux-armhf:
46+
runs-on: ubuntu-18.04
47+
steps:
48+
- uses: actions/checkout@v2
49+
with:
50+
submodules: recursive
51+
- name: Set up dependencies
52+
run: |
53+
sudo dpkg --add-architecture armhf && \
54+
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list && \
55+
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 && \
56+
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 && \
57+
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 && \
58+
sudo apt-get update -qq && \
59+
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
60+
- name: Build linux armhf cross-compiled
61+
env:
62+
CC: arm-linux-gnueabihf-gcc
63+
CXX: arm-linux-gnueabihf-g++
64+
LDFLAGS: -static-libgcc -static-libstdc++
65+
run: |
66+
make -j $(nproc)
67+
- name: Set sha8
68+
id: slug
69+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
70+
- uses: actions/upload-artifact@v2
71+
with:
72+
name: ${{ github.event.repository.name }}-linux-armhf-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
73+
path: |
74+
bin/*
75+
76+
linux-x64:
77+
runs-on: ubuntu-18.04
78+
steps:
79+
- uses: actions/checkout@v2
80+
with:
81+
submodules: recursive
82+
- name: Set up dependencies
83+
run: |
84+
sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev
85+
- name: Build linux x64
86+
env:
87+
LDFLAGS: -static-libgcc -static-libstdc++
88+
run: |
89+
make -j $(nproc)
90+
- name: Set sha8
91+
id: slug
92+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
93+
- uses: actions/upload-artifact@v2
94+
with:
95+
name: ${{ github.event.repository.name }}-linux-x64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
96+
path: |
97+
bin/*
98+
99+
macos-universal:
100+
runs-on: macos-10.15
101+
steps:
102+
- uses: actions/checkout@v2
103+
with:
104+
submodules: recursive
105+
- name: Fix up Xcode
106+
run: |
107+
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
108+
sudo xcode-select -s "/Applications/Xcode_12.3.app"
109+
- name: Build macOS universal
110+
env:
111+
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
112+
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
113+
LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
114+
run: |
115+
make NOOPT=true -j $(sysctl -n hw.logicalcpu) && \
116+
./dpf/utils/package-osx-bundles.sh
117+
- name: Set sha8
118+
id: slug
119+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
120+
- uses: actions/upload-artifact@v2
121+
with:
122+
name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
123+
path: |
124+
*-macOS.pkg
125+
bin/*
126+
!bin/*-ladspa.dylib
127+
!bin/*-dssi.dylib
128+
!bin/lv2
129+
!bin/vst2
130+
131+
win32:
132+
runs-on: ubuntu-20.04
133+
steps:
134+
- uses: actions/checkout@v2
135+
with:
136+
submodules: recursive
137+
- name: Set up dependencies
138+
run: |
139+
sudo dpkg --add-architecture i386 && \
140+
sudo apt-get update -qq && \
141+
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
142+
- name: Build win32 cross-compiled
143+
env:
144+
CC: i686-w64-mingw32-gcc
145+
CXX: i686-w64-mingw32-g++
146+
EXE_WRAPPER: wine
147+
PKG_CONFIG: "false"
148+
WINEDEBUG: "-all"
149+
run: |
150+
make -j $(nproc)
151+
- name: Set sha8
152+
id: slug
153+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
154+
- uses: actions/upload-artifact@v2
155+
with:
156+
name: ${{ github.event.repository.name }}-win32-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
157+
path: |
158+
bin/*
159+
!bin/*-ladspa.dll
160+
!bin/*-dssi.dll
161+
162+
win64:
163+
runs-on: ubuntu-20.04
164+
steps:
165+
- uses: actions/checkout@v2
166+
with:
167+
submodules: recursive
168+
- name: Set up dependencies
169+
run: |
170+
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
171+
- name: Build win64 cross-compiled
172+
env:
173+
CC: x86_64-w64-mingw32-gcc
174+
CXX: x86_64-w64-mingw32-g++
175+
EXE_WRAPPER: wine
176+
PKG_CONFIG: "false"
177+
WINEDEBUG: "-all"
178+
run: |
179+
make -j $(nproc)
180+
- name: Set sha8
181+
id: slug
182+
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
183+
- uses: actions/upload-artifact@v2
184+
with:
185+
name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
186+
path: |
187+
bin/*
188+
!bin/*-ladspa.dll
189+
!bin/*-dssi.dll

dpf

Submodule dpf updated 266 files

0 commit comments

Comments
 (0)