Skip to content

Commit 17a270b

Browse files
committed
Update CI file
Signed-off-by: falkTX <falktx@falktx.com>
1 parent 4ba52c3 commit 17a270b

File tree

1 file changed

+64
-40
lines changed

1 file changed

+64
-40
lines changed

.github/workflows/build.yml

Lines changed: 64 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,35 @@ env:
1313

1414
jobs:
1515
linux-arm64:
16-
runs-on: ubuntu-18.04
16+
runs-on: ubuntu-20.04
1717
steps:
1818
- uses: actions/checkout@v2
1919
with:
2020
submodules: recursive
21+
- name: Fix GitHub's mess
22+
run: |
23+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
24+
sudo apt-get update -qq
25+
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
26+
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
2127
- name: Set up dependencies
2228
run: |
2329
sudo dpkg --add-architecture arm64
2430
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
25-
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
26-
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
27-
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
31+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
32+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
33+
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
2834
sudo apt-get update -qq
29-
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 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
30-
# fix broken Ubuntu packages missing pkg-config file in multi-arch package
31-
sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev libxcursor-dev libxrandr-dev
32-
sudo ln -s /usr/lib/aarch64-linux-gnu/liblo.so.7 /usr/lib/aarch64-linux-gnu/liblo.so
33-
sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/liblo.pc /usr/lib/aarch64-linux-gnu/pkgconfig/liblo.pc
34-
sudo sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" /usr/lib/aarch64-linux-gnu/pkgconfig/liblo.pc
35+
sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libcairo2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 liblo-dev:arm64 libpulse-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
3536
- name: Build linux arm64 cross-compiled
3637
env:
3738
CC: aarch64-linux-gnu-gcc
3839
CXX: aarch64-linux-gnu-g++
3940
LDFLAGS: -static-libgcc -static-libstdc++
41+
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
4042
run: |
4143
make features
42-
make -j $(nproc)
44+
make WITH_LTO=true -j $(nproc)
4345
- name: Set sha8
4446
id: slug
4547
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -50,33 +52,35 @@ jobs:
5052
bin/*
5153
5254
linux-armhf:
53-
runs-on: ubuntu-18.04
55+
runs-on: ubuntu-20.04
5456
steps:
5557
- uses: actions/checkout@v2
5658
with:
5759
submodules: recursive
60+
- name: Fix GitHub's mess
61+
run: |
62+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
63+
sudo apt-get update -qq
64+
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
65+
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
5866
- name: Set up dependencies
5967
run: |
6068
sudo dpkg --add-architecture armhf
6169
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
62-
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
63-
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
64-
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
70+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
71+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
72+
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
6573
sudo apt-get update -qq
66-
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 libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
67-
# fix broken Ubuntu packages missing pkg-config file in multi-arch package
68-
sudo apt-get install -yq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev libxcursor-dev libxrandr-dev
69-
sudo ln -s /usr/lib/arm-linux-gnueabihf/liblo.so.7 /usr/lib/arm-linux-gnueabihf/liblo.so
70-
sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/liblo.pc /usr/lib/arm-linux-gnueabihf/pkgconfig/liblo.pc
71-
sudo sed -i "s/x86_64-linux-gnu/arm-linux-gnueabihf/" /usr/lib/arm-linux-gnueabihf/pkgconfig/liblo.pc
74+
sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libcairo2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf liblo-dev:armhf libpulse-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
7275
- name: Build linux armhf cross-compiled
7376
env:
7477
CC: arm-linux-gnueabihf-gcc
7578
CXX: arm-linux-gnueabihf-g++
7679
LDFLAGS: -static-libgcc -static-libstdc++
80+
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
7781
run: |
7882
make features
79-
make -j $(nproc)
83+
make WITH_LTO=true -j $(nproc)
8084
- name: Set sha8
8185
id: slug
8286
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -86,51 +90,59 @@ jobs:
8690
path: |
8791
bin/*
8892
89-
linux-x86:
90-
runs-on: ubuntu-18.04
93+
linux-i686:
94+
runs-on: ubuntu-20.04
9195
steps:
9296
- uses: actions/checkout@v2
9397
with:
9498
submodules: recursive
99+
- name: Fix GitHub's mess
100+
run: |
101+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
102+
sudo apt-get update -qq
103+
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
104+
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
95105
- name: Set up dependencies
96106
run: |
97107
sudo dpkg --add-architecture i386
98108
sudo apt-get update -qq
99-
sudo apt-get install -yq g++-multilib libasound2-dev:i386 libcairo2-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
100-
- name: Build linux x86
109+
sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libcairo2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 liblo-dev:i386 libpulse-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
110+
- name: Build linux i686
101111
env:
112+
CC: i686-linux-gnu-gcc
113+
CXX: i686-linux-gnu-g++
102114
CFLAGS: -m32
103115
CXXFLAGS: -m32
104116
LDFLAGS: -m32 -static-libgcc -static-libstdc++
105117
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
106118
run: |
107119
make features
108-
make -j $(nproc)
120+
make WITH_LTO=true -j $(nproc)
109121
- name: Set sha8
110122
id: slug
111123
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
112124
- uses: actions/upload-artifact@v2
113125
with:
114-
name: ${{ github.event.repository.name }}-linux-x86-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
126+
name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
115127
path: |
116128
bin/*
117129
118130
linux-x86_64:
119-
runs-on: ubuntu-18.04
131+
runs-on: ubuntu-20.04
120132
steps:
121133
- uses: actions/checkout@v2
122134
with:
123135
submodules: recursive
124136
- name: Set up dependencies
125137
run: |
126138
sudo apt-get update -qq
127-
sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
139+
sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
128140
- name: Build linux x86_64
129141
env:
130142
LDFLAGS: -static-libgcc -static-libstdc++
131143
run: |
132144
make features
133-
make -j $(nproc)
145+
make WITH_LTO=true -j $(nproc)
134146
- name: Set sha8
135147
id: slug
136148
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -157,7 +169,7 @@ jobs:
157169
LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
158170
run: |
159171
make features
160-
make NOOPT=true -j $(sysctl -n hw.logicalcpu)
172+
make NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
161173
./dpf/utils/package-osx-bundles.sh
162174
- name: Set sha8
163175
id: slug
@@ -180,11 +192,17 @@ jobs:
180192
- uses: actions/checkout@v2
181193
with:
182194
submodules: recursive
195+
- name: Fix GitHub's mess
196+
run: |
197+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
198+
sudo apt-get update -qq
199+
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
200+
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
183201
- name: Set up dependencies
184202
run: |
185203
sudo dpkg --add-architecture i386
186204
sudo apt-get update -qq
187-
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
205+
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386
188206
- name: Build win32 cross-compiled
189207
env:
190208
CC: i686-w64-mingw32-gcc
@@ -194,7 +212,7 @@ jobs:
194212
WINEDEBUG: "-all"
195213
run: |
196214
make features
197-
make -j $(nproc)
215+
make WITH_LTO=true -j $(nproc)
198216
- name: Set sha8
199217
id: slug
200218
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -212,10 +230,16 @@ jobs:
212230
- uses: actions/checkout@v2
213231
with:
214232
submodules: recursive
233+
- name: Fix GitHub's mess
234+
run: |
235+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
236+
sudo apt-get update -qq
237+
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
238+
sudo apt-get purge -yqq libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
215239
- name: Set up dependencies
216240
run: |
217241
sudo apt-get update -qq
218-
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
242+
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
219243
- name: Build win64 cross-compiled
220244
env:
221245
CC: x86_64-w64-mingw32-gcc
@@ -225,7 +249,7 @@ jobs:
225249
WINEDEBUG: "-all"
226250
run: |
227251
make features
228-
make -j $(nproc)
252+
make WITH_LTO=true -j $(nproc)
229253
- name: Set sha8
230254
id: slug
231255
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -250,9 +274,9 @@ jobs:
250274
sudo dpkg -i kxstudio-repos_10.0.3_all.deb
251275
sudo apt-get update -qq
252276
# build-deps
253-
sudo apt-get install -yq libasound2-dev libcairo2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
277+
sudo apt-get install -yqq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
254278
# runtime testing
255-
sudo apt-get install -yq carla-git lilv-utils lv2-dev lv2lint valgrind
279+
sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint valgrind
256280
- name: Build plugins
257281
env:
258282
CFLAGS: -g
@@ -313,14 +337,14 @@ jobs:
313337
done
314338
- name: Test VST2 plugins
315339
run: |
316-
for p in $(ls bin/ | grep vst.so); do \
340+
for p in $(find bin/ | grep -e vst.so -e '.*\.vst/.*\.so'); do \
317341
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
318342
valgrind \
319343
--error-exitcode=255 \
320344
--leak-check=full \
321345
--track-origins=yes \
322346
--suppressions=./dpf/utils/valgrind-dpf.supp \
323-
/usr/lib/carla/carla-bridge-native vst2 ./bin/${p} "" 1>/dev/null; \
347+
/usr/lib/carla/carla-bridge-native vst2 ./${p} "" 1>/dev/null; \
324348
done
325349
- name: Test VST3 plugins
326350
run: |

0 commit comments

Comments
 (0)