Skip to content

Commit 547460c

Browse files
authored
ci: github: update (#154)
* ci: github: update Linux * ci: github: update memcached versions * gitignore more build directories * ci: github: update Windows * ci: github: install nsis on Windows, since 2025 doesn't come with it * ci: github: install nsis on Windows, since 2025 doesn't come with it * ci: github: install nsis on Windows, since 2025 doesn't come with it * ci: github: install nsis on Windows, since 2025 doesn't come with it * ci: github: update macos * ci: github: use gnu rsync * c++ compat: standard says only specific integral types are supported by uniform_int_distribution, causing issues with older libc++ * ci: github: enable all platforms
1 parent 5b66c62 commit 547460c

File tree

5 files changed

+168
-135
lines changed

5 files changed

+168
-135
lines changed

.editorconfig

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ trim_trailing_whitespace = true
1010
indent_style = space
1111
indent_size = 2
1212

13-
[*.{yml,yaml}]
13+
[*.{yml,yaml,gen}]
1414
indent_style = space
1515
indent_size = 2
1616

@@ -25,5 +25,3 @@ indent_size = 4
2525

2626
[{Makefile,*.mk}]
2727
indent_style = tab
28-
29-

.github/workflows/cmake-build-ci.gen

Lines changed: 46 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ echo "# Generated file; do not edit!\n";
66
const DEF = [
77
"os" => "Linux",
88

9-
"Linux" => "ubuntu-22.04", "ubuntu-22.04" => "gnu",
9+
"Linux" => "ubuntu-24.04", "ubuntu-24.04" => "gnu",
1010
"Windows" => "windows-2022", "windows-2022" => "msvc",
11-
"macOS" => "macos-12", "macos-12" => "clang",
11+
"macOS" => "macos-13", "macos-13" => "clang",
1212

1313
"gnu" => [
1414
"CC" => "gcc",
@@ -39,25 +39,26 @@ const MAP = [
3939
],
4040
"clang" => [
4141
'env.CC_VER' => [
42-
"new" => "-14",
43-
"cur" => "-13",
42+
"new" => "-15",
43+
"cur" => "-14",
44+
"old" => "-13",
4445
]
4546
]
4647
]
4748
],
48-
"ubuntu-20.04" => [
49+
"ubuntu-24.04" => [
4950
'env.CC_VND' => [
5051
"gnu" => [
5152
'env.CC_VER' => [
52-
"new" => "-10",
53-
"cur" => "-9",
53+
"new" => "-14",
54+
"cur" => "-13",
5455
]
5556
],
5657
"clang" => [
5758
'env.CC_VER' => [
58-
"new" => "-12",
59-
"cur" => "-11",
60-
"old" => "-10"
59+
"new" => "-18",
60+
"cur" => "-17",
61+
"old" => "-16"
6162
]
6263
]
6364
]
@@ -80,11 +81,11 @@ const MAP = [
8081
]
8182
]
8283
],
83-
"windows-2019" => [
84+
"windows-2025" => [
8485
'env.CC_VND' => [
8586
"msvc" => [
8687
"env.CC_VER" => [
87-
"cur" => " 16 2019"
88+
"cur" => " 17 2022"
8889
]
8990
],
9091
"mingw" => [
@@ -103,27 +104,31 @@ const ENV = [
103104
"clang" => [
104105
"new" => [
105106
"CXXFLAGS" => "-stdlib=libc++",
106-
"INSTALL_CXX" => "libc++-14-dev libc++abi-14-dev"
107+
"INSTALL_CXX" => "libc++-15-dev libc++abi-15-dev"
107108
],
108109
"cur" => [
110+
"CXXFLAGS" => "-stdlib=libc++",
111+
"INSTALL_CXX" => "libc++-14-dev libc++abi-14-dev"
112+
],
113+
"old" => [
109114
"CXXFLAGS" => "-stdlib=libc++",
110115
"INSTALL_CXX" => "libc++-13-dev libc++abi-13-dev"
111116
],
112117
]
113118
],
114-
"ubuntu-20.04" => [
119+
"ubuntu-24.04" => [
115120
"clang" => [
116121
"new" => [
117122
"CXXFLAGS" => "-stdlib=libc++",
118-
"INSTALL_CXX" => "libc++-12-dev libc++abi-12-dev"
123+
"INSTALL_CXX" => "libc++-18-dev libc++abi-18-dev"
119124
],
120125
"cur" => [
121126
"CXXFLAGS" => "-stdlib=libc++",
122-
"INSTALL_CXX" => "libc++-11-dev libc++abi-11-dev"
127+
"INSTALL_CXX" => "libc++-17-dev libc++abi-17-dev"
123128
],
124129
"old" => [
125130
"CXXFLAGS" => "-stdlib=libc++",
126-
"INSTALL_CXX" => "libc++-10-dev libc++abi-10-dev"
131+
"INSTALL_CXX" => "libc++-16-dev libc++abi-16-dev"
127132
],
128133
]
129134
],
@@ -221,7 +226,7 @@ function steps_getdeps($os_vnd) {
221226
if ($os_vnd === "macOS") :
222227
?>
223228
run: |
224-
brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
229+
brew install bison flex libevent pkg-config rsync sphinx-doc ${INSTALL_MEMCACHED}
225230
brew services stop memcached || true
226231
echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
227232
<?php
@@ -237,6 +242,8 @@ function steps_getdeps($os_vnd) {
237242
flex
238243
rsync
239244
openssh
245+
pacboy: >-
246+
nsis:p
240247
<?php
241248
endif;
242249
if ($os_vnd != "Windows") :
@@ -259,7 +266,7 @@ function steps_getdeps($os_vnd) {
259266
--disable-extstore \
260267
--disable-option-checking \
261268
;
262-
make -j2
269+
make -j4
263270
make install
264271
cd ..
265272
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
@@ -273,15 +280,15 @@ function steps_build() {
273280
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
274281
run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
275282
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
276-
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
283+
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4
277284
<?php
278285
}
279286

280287
function steps_test() {
281288
?>
282289
- name: Test
283290
if: env.BUILD_TESTING == 'ON'
284-
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
291+
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test
285292
- name: Install
286293
if: env.BUILD_TESTING == 'ON'
287294
run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
@@ -299,10 +306,10 @@ function steps_package() {
299306
if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
300307
run: |
301308
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
302-
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
309+
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package
303310
cmake -DCPACK_COMPONENT_INSTALL=ON build
304-
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
305-
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
311+
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package
312+
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts
306313
<?php
307314
}
308315

@@ -398,7 +405,16 @@ jobs:
398405
continue-on-error: true
399406
strategy:
400407
matrix:
401-
memcached: ['master', '1.6.22', '1.6.17', '1.6.9', '1.5.22', '1.5.6']
408+
memcached:
409+
- 'master'
410+
- '1.6.38' # Debian 13, FreeBSD 14
411+
# - '1.6.37' # Ubuntu 25.04
412+
- '1.6.24' # Ubuntu 24.04
413+
# - '1.6.23' # Enterprise Linux 10
414+
- '1.6.18' # Debian 12
415+
- '1.6.14' # Ubuntu 22.04, Amazon Linux 2023
416+
- '1.6.9' # Debian 11, Enterprise Linux 9
417+
- '1.5.22' # Last 1.5 release
402418
env:
403419
CMAKE_BUILD_TYPE: "Debug"
404420
BUILD_TESTING: "ON"
@@ -413,6 +429,7 @@ jobs:
413429
repository: memcached/memcached
414430
path: memcached
415431
ref: ${{ matrix.memcached }}
432+
fetch-depth: ${{ matrix.memcached != 'master' }}
416433
<?php steps("Linux"); ?>
417434

418435
# coverage linux
@@ -434,11 +451,10 @@ jobs:
434451
with:
435452
repository: memcached/memcached
436453
path: memcached
437-
ref: 1.6.7
454+
ref: 1.6.39
438455
<?php steps("Linux"); ?>
439456
- uses: codecov/codecov-action@v3
440457

441-
442458
# coverage mac
443459
debug-coverage-mac:
444460
name: debug coverage (<?=defaults("macOS")?>)
@@ -462,7 +478,7 @@ jobs:
462478
strategy:
463479
fail-fast: false
464480
matrix:
465-
os_ver: [macos-12, macos-11, macos-10.15]
481+
os_ver: [macos-13, macos-14, macos-15]
466482
runs-on: ${{ matrix.os_ver }}
467483
env:
468484
CMAKE_BUILD_TYPE: "Release"
@@ -481,7 +497,7 @@ jobs:
481497
strategy:
482498
fail-fast: false
483499
matrix:
484-
os_ver: [windows-2022, windows-2019]
500+
os_ver: [windows-2022, windows-2025]
485501
cc_vnd: [msvc, mingw]
486502
cc_ver: [cur]
487503
runs-on: ${{ matrix.os_ver }}
@@ -503,7 +519,7 @@ jobs:
503519
strategy:
504520
fail-fast: false
505521
matrix:
506-
os_ver: [ubuntu-22.04, ubuntu-20.04]
522+
os_ver: [ubuntu-22.04, ubuntu-24.04]
507523
cc_vnd: [gnu, clang]
508524
cc_ver: [new, cur, old]
509525
runs-on: ${{ matrix.os_ver }}

0 commit comments

Comments
 (0)