Skip to content

Commit c4fece9

Browse files
committed
More extensive CI tests
Signed-off-by: falkTX <[email protected]>
1 parent 1662e56 commit c4fece9

File tree

3 files changed

+111
-120
lines changed

3 files changed

+111
-120
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: makefile
1+
name: build
22

33
on:
44
push:
@@ -7,31 +7,46 @@ on:
77
pull_request:
88
branches:
99
- '*'
10-
env:
11-
DEBIAN_FRONTEND: noninteractive
1210

1311
jobs:
14-
linux-x86_64:
15-
runs-on: ubuntu-22.04
12+
build:
13+
strategy:
14+
matrix:
15+
os:
16+
- macos-12
17+
- macos-13
18+
- macos-14
19+
# webgui failure
20+
# - ubuntu-20.04
21+
- ubuntu-22.04
22+
- ubuntu-24.04
23+
runs-on: ${{ matrix.os }}
1624
steps:
1725
- uses: actions/checkout@v4
1826
with:
1927
submodules: recursive
2028
- name: Set up dependencies
29+
if: ${{ runner.os == 'Linux' }}
30+
env:
31+
DEBIAN_FRONTEND: noninteractive
2132
run: |
2233
sudo apt-get update -qq
2334
sudo apt-get install -yq libasound2-dev libcairo2-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libpulse-dev libsdl2-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev xvfb
35+
- name: Set num jobs
36+
if: ${{ runner.os == 'Linux' }}
37+
run: echo "JOBS=$(nproc)" >> $GITHUB_ENV
38+
- name: Set num jobs
39+
if: ${{ runner.os != 'Linux' }}
40+
run: echo "JOBS=$(sysctl -n hw.logicalcpu)" >> $GITHUB_ENV
2441
- name: Without any warnings
2542
env:
2643
CFLAGS: -Werror
2744
CXXFLAGS: -Werror
2845
run: |
2946
make clean >/dev/null
30-
make -j $(nproc)
47+
make -j ${{ env.JOBS }}
3148
- name: Run tests
32-
env:
33-
CFLAGS: -Werror
34-
CXXFLAGS: -Werror
49+
if: ${{ runner.os == 'Linux' }}
3550
run: |
3651
xvfb-run make -C tests run
3752
- name: As C++98 mode
@@ -40,39 +55,67 @@ jobs:
4055
CXXFLAGS: -Werror -std=gnu++98
4156
run: |
4257
make clean >/dev/null
43-
make -j $(nproc)
58+
make -j ${{ env.JOBS }}
59+
- name: As C++11 mode
60+
env:
61+
CFLAGS: -Werror
62+
CXXFLAGS: -Werror -std=gnu++11
63+
run: |
64+
make clean >/dev/null
65+
make -j ${{ env.JOBS }}
66+
- name: As C++14 mode
67+
env:
68+
CFLAGS: -Werror
69+
CXXFLAGS: -Werror -std=gnu++14
70+
run: |
71+
make clean >/dev/null
72+
make -j ${{ env.JOBS }}
73+
- name: As C++17 mode
74+
env:
75+
CFLAGS: -Werror
76+
CXXFLAGS: -Werror -std=gnu++17
77+
run: |
78+
make clean >/dev/null
79+
make -j ${{ env.JOBS }}
80+
- name: As C++20 mode
81+
env:
82+
CFLAGS: -Werror
83+
CXXFLAGS: -Werror -std=gnu++20
84+
run: |
85+
make clean >/dev/null
86+
make -j ${{ env.JOBS }}
4487
- name: No namespace
4588
env:
4689
CFLAGS: -Werror
4790
CXXFLAGS: -Werror -DDONT_SET_USING_DISTRHO_NAMESPACE -DDONT_SET_USING_DGL_NAMESPACE
4891
run: |
4992
make clean >/dev/null
50-
make -j $(nproc)
93+
make -j ${{ env.JOBS }}
5194
- name: Custom namespace
5295
env:
5396
CFLAGS: -Werror
5497
CXXFLAGS: -Werror -DDISTRHO_NAMESPACE=WubbWubb -DDGL_NAMESPACE=DabDab
5598
run: |
5699
make clean >/dev/null
57-
make -j $(nproc)
100+
make -j ${{ env.JOBS }}
58101
- name: With OpenGL 3.x
59102
env:
60103
CFLAGS: -Werror
61104
CXXFLAGS: -Werror
62105
run: |
63106
make clean >/dev/null
64-
make -j $(nproc) USE_OPENGL3=true
107+
make -j ${{ env.JOBS }} USE_OPENGL3=true
65108
- name: Without Cairo
66109
env:
67110
CFLAGS: -Werror
68111
CXXFLAGS: -Werror
69112
run: |
70113
make clean >/dev/null
71-
make -j $(nproc) HAVE_CAIRO=
114+
make -j ${{ env.JOBS }} HAVE_CAIRO=false
72115
- name: Without OpenGL
73116
env:
74117
CFLAGS: -Werror
75118
CXXFLAGS: -Werror
76119
run: |
77120
make clean >/dev/null
78-
make -j $(nproc) HAVE_OPENGL=
121+
make -j ${{ env.JOBS }} HAVE_OPENGL=false

distrho/extra/Base64.hpp

+5-74
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
#include <vector>
2323

24-
// -----------------------------------------------------------------------
24+
// --------------------------------------------------------------------------------------------------------------------
2525
// base64 stuff, based on http://www.adp-gmbh.ch/cpp/common/base64.html
2626

2727
/*
@@ -48,7 +48,7 @@
4848
René Nyffenegger [email protected]
4949
*/
5050

51-
// -----------------------------------------------------------------------
51+
// --------------------------------------------------------------------------------------------------------------------
5252
// Helpers
5353

5454
#ifndef DOXYGEN
@@ -77,82 +77,13 @@ uint8_t findBase64CharIndex(const char c)
7777
static constexpr inline
7878
bool isBase64Char(const char c)
7979
{
80-
switch (c)
81-
{
82-
case 'A':
83-
case 'B':
84-
case 'C':
85-
case 'D':
86-
case 'E':
87-
case 'F':
88-
case 'G':
89-
case 'H':
90-
case 'I':
91-
case 'J':
92-
case 'K':
93-
case 'L':
94-
case 'M':
95-
case 'N':
96-
case 'O':
97-
case 'P':
98-
case 'Q':
99-
case 'R':
100-
case 'S':
101-
case 'T':
102-
case 'U':
103-
case 'V':
104-
case 'W':
105-
case 'X':
106-
case 'Y':
107-
case 'Z':
108-
case 'a':
109-
case 'b':
110-
case 'c':
111-
case 'd':
112-
case 'e':
113-
case 'f':
114-
case 'g':
115-
case 'h':
116-
case 'i':
117-
case 'j':
118-
case 'k':
119-
case 'l':
120-
case 'm':
121-
case 'n':
122-
case 'o':
123-
case 'p':
124-
case 'q':
125-
case 'r':
126-
case 's':
127-
case 't':
128-
case 'u':
129-
case 'v':
130-
case 'w':
131-
case 'x':
132-
case 'y':
133-
case 'z':
134-
case '0':
135-
case '1':
136-
case '2':
137-
case '3':
138-
case '4':
139-
case '5':
140-
case '6':
141-
case '7':
142-
case '8':
143-
case '9':
144-
case '+':
145-
case '/':
146-
return true;
147-
default:
148-
return false;
149-
}
80+
return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '+' || c == '/';
15081
}
15182

15283
} // namespace DistrhoBase64Helpers
15384
#endif
15485

155-
// -----------------------------------------------------------------------
86+
// --------------------------------------------------------------------------------------------------------------------
15687

15788
static inline
15889
std::vector<uint8_t> d_getChunkFromBase64String(const char* const base64string)
@@ -213,6 +144,6 @@ std::vector<uint8_t> d_getChunkFromBase64String(const char* const base64string)
213144
return ret;
214145
}
215146

216-
// -----------------------------------------------------------------------
147+
// --------------------------------------------------------------------------------------------------------------------
217148

218149
#endif // DISTRHO_BASE64_HPP_INCLUDED

0 commit comments

Comments
 (0)