-
Notifications
You must be signed in to change notification settings - Fork 14
239 lines (235 loc) · 9.08 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
---
name: Build on various Operating Systems
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
JACK2_VERSION: v1.9.22
MESON_LINUX_BUILD_OPTS: --prefix=/usr
PAWPAW_CACHE_VERSION: 1
PAWPAW_JACK2_NO_CUSTOM_PREFIX: 1
PAWPAW_SKIP_LTO: 1
PAWPAW_VERSION: c630bae2e77c210c7e7a8c557215d85103813454
jobs:
build_arch_linux_jack1:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v3
- name: Add pro-audio-legacy repository
run: |
printf "[pro-audio-legacy]\nServer = https://pkgbuild.com/~dvzrv/repos/pro-audio-legacy/\$arch\n" >> /etc/pacman.conf
pacman -Syy
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel jack meson opus readline libsamplerate libsndfile zita-alsa-pcmi zita-resampler
- name: Build jack-example-tools
run: meson build ${{ env.MESON_LINUX_BUILD_OPTS }} && ninja -C build
- name: Install jack-example-tools
run: ninja -C build install
build_arch_linux_jack2:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel jack2 meson opus readline libsamplerate libsndfile zita-alsa-pcmi zita-resampler
- name: Build jack-example-tools
run: meson build ${{ env.MESON_LINUX_BUILD_OPTS }} && ninja -C build
- name: Install jack-example-tools
run: ninja -C build install
build_arch_linux_pipewire_jack:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: pacman --noconfirm -Syu alsa-lib base-devel meson opus pipewire-jack readline libsamplerate libsndfile zita-alsa-pcmi zita-resampler
- name: Build jack-example-tools
run: meson build ${{ env.MESON_LINUX_BUILD_OPTS }} && ninja -C build
- name: Install jack-example-tools
run: ninja -C build install
build_alpine_linux:
runs-on: ubuntu-latest
container:
image: alpine:latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: apk add g++ meson pkgconf alsa-lib-dev jack-dev opus-dev readline-dev libsamplerate-dev libsndfile-dev
- name: Build jack-example-tools
run: meson build ${{ env.MESON_LINUX_BUILD_OPTS }} && ninja -C build
- name: Install jack-example-tools
run: ninja -C build install
build_macos_latest:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: brew install jack meson opus pkg-config readline
- name: Build jack-example-tools
run: meson build && ninja -C build
- name: Install jack-example-tools
run: ninja -C build install
build_pawpaw_macos_intel:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v3
- name: Set up cache
uses: actions/cache@v3
with:
path: ~/PawPawBuilds
key: macos-intel-v${{ env.PAWPAW_CACHE_VERSION }}
- name: Set up dependencies
run: brew install cmake jq meson
- name: Bootstrap macOS intel
shell: bash
run: |
if [ ! -d PawPaw ]; then
git clone https://github.com/DISTRHO/PawPaw.git
git -C PawPaw checkout ${{ env.PAWPAW_VERSION}}
fi
./PawPaw/bootstrap-jack2.sh macos && ./PawPaw/.cleanup.sh macos
- name: Build jack2
shell: bash
run: |
./PawPaw/build-jack2.sh macos && ./PawPaw/.cleanup.sh macos
- name: Build jack-example-tools
shell: bash
run: |
pushd PawPaw && source local.env macos && popd
meson build --prefix ${PAWPAW_PREFIX} || cat build/meson-logs/meson-log.txt
ninja -C build
- name: Install jack-example-tools
run: |
pushd PawPaw && source local.env macos && popd
ninja -C build install
build_pawpaw_macos_universal:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v3
- name: Set up cache
uses: actions/cache@v3
with:
path: ~/PawPawBuilds
key: macos-universal-v${{ env.PAWPAW_CACHE_VERSION }}
- name: Set up dependencies
run: brew install cmake jq meson
- name: Fix up Xcode
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s /Applications/Xcode_12.3.app
- name: Bootstrap macOS intel
shell: bash
run: |
if [ ! -d PawPaw ]; then
git clone https://github.com/DISTRHO/PawPaw.git
git -C PawPaw checkout ${{ env.PAWPAW_VERSION}}
fi
./PawPaw/bootstrap-jack2.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
- name: Build jack2
shell: bash
run: |
./PawPaw/build-jack2.sh macos-universal && ./PawPaw/.cleanup.sh macos-universal
- name: Build jack-example-tools
shell: bash
run: |
pushd PawPaw && source local.env macos-universal && popd
meson build --prefix ${PAWPAW_PREFIX} || cat build/meson-logs/meson-log.txt
ninja -C build
- name: Install jack-example-tools
run: |
pushd PawPaw && source local.env macos-universal && popd
ninja -C build install
build_pawpaw_win32:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set up cache
uses: actions/cache@v3
with:
path: ~/PawPawBuilds
key: win32-v${{ env.PAWPAW_CACHE_VERSION }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
- name: Set up dependencies
run: |
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -y autopoint build-essential curl cmake jq llvm meson mingw-w64 python3-pip \
binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
pip3 install 'meson>=0.58.0'
- name: Bootstrap win32 cross-compiled
shell: bash
run: |
if [ ! -d PawPaw ]; then
git clone https://github.com/DISTRHO/PawPaw.git
git -C PawPaw checkout ${{ env.PAWPAW_VERSION}}
fi
./PawPaw/bootstrap-jack2.sh win32 && ./PawPaw/.cleanup.sh win32
- name: Build jack2
shell: bash
run: |
./PawPaw/build-jack2.sh win32 && ./PawPaw/.cleanup.sh win32
- name: Build jack-example-tools
shell: bash
run: |
pushd PawPaw && source local.env win32 && popd
meson build --prefix ${PAWPAW_PREFIX} --cross-file PawPaw/setup/meson/win32.ini || cat build/meson-logs/meson-log.txt
ninja -C build
- name: Install jack-example-tools
run: |
pushd PawPaw && source local.env win32 && popd
ninja -C build install
build_pawpaw_win64:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set up cache
uses: actions/cache@v3
with:
path: ~/PawPawBuilds
key: win64-v${{ env.PAWPAW_CACHE_VERSION }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
- name: Set up dependencies
run: |
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -y autopoint build-essential curl cmake jq llvm meson mingw-w64 python3-pip \
binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
pip3 install 'meson>=0.58.0'
- name: Bootstrap win64 cross-compiled
shell: bash
run: |
if [ ! -d PawPaw ]; then
git clone https://github.com/DISTRHO/PawPaw.git
git -C PawPaw checkout ${{ env.PAWPAW_VERSION}}
fi
./PawPaw/bootstrap-jack2.sh win64 && ./PawPaw/.cleanup.sh win64
- name: Build jack2
shell: bash
run: |
./PawPaw/build-jack2.sh win64 && ./PawPaw/.cleanup.sh win64
- name: Build jack-example-tools
shell: bash
run: |
pushd PawPaw && source local.env win64 && popd
meson build --prefix ${PAWPAW_PREFIX} --cross-file PawPaw/setup/meson/win64.ini || cat build/meson-logs/meson-log.txt
ninja -C build
- name: Install jack-example-tools
run: |
pushd PawPaw && source local.env win64 && popd
ninja -C build install