1 # Generated file; do not edit!
9 - ".github/workflows/cmake-build-ci*"
24 INSTALL_MEMCACHED: memcached
25 ENABLE_SASL: "OFF" # ^ almost no memcached distribution package has built in sasl support
26 ENABLE_HASH_HSIEH: "ON"
29 OS_VER: ubuntu-22.04 #
38 runs-on: ubuntu-22.04 #
41 sanitizer: ['address;undefined', 'thread']
43 CMAKE_BUILD_TYPE: "Debug"
46 ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
48 - uses: actions/checkout@v3
49 - name: Prepare environment (for cur gnu on ubuntu-22.04)
50 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
52 echo CC="gcc-11" >> ${GITHUB_ENV}
53 echo CXX="g++-11" >> ${GITHUB_ENV}
54 - name: Install dependencies (Linux)
55 if: runner.os == 'Linux'
57 sudo apt-get update -y
58 sudo apt-get install -my \
63 ${INSTALL_MEMCACHED} \
64 ${INSTALL_CC} ${INSTALL_CXX}
65 sudo systemctl stop memcached || true
66 - name: Build memcached
67 if: runner.os != 'Windows'
73 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
74 ./configure CFLAGS="-O2 -pipe -fcommon" \
75 --prefix=${MEMCACHED_PREFIX} \
79 --disable-dependency-tracking \
82 --disable-option-checking \
87 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
89 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
90 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
91 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
92 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
94 if: env.BUILD_TESTING == 'ON'
95 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
97 if: env.BUILD_TESTING == 'ON'
98 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
99 - name: Failed tests log
100 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
101 run: cat build/Testing/Temporary/LastTest.log || true
104 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
105 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
107 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
108 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
109 cmake -DCPACK_COMPONENT_INSTALL=ON build
110 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
111 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
112 - name: Notify Gitter
114 GITTER: ${{ secrets.GITTER }}
115 if: (success() || failure()) && env.GITTER != ''
116 run: bash .github/notify-gitter.sh ${{ job.status }}
120 name: debug memcached
121 runs-on: ubuntu-22.04 #
122 continue-on-error: true
125 memcached: ['master', '1.6.17', '1.6.9', '1.5.22', '1.5.6']
127 CMAKE_BUILD_TYPE: "Debug"
130 INSTALL_MEMCACHED: ""
131 MEMCACHED_PREFIX: "/tmp"
134 - uses: actions/checkout@v3
135 - uses: actions/checkout@v3
137 repository: memcached/memcached
139 ref: ${{ matrix.memcached }}
140 - name: Prepare environment (for cur gnu on ubuntu-22.04)
141 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
143 echo CC="gcc-11" >> ${GITHUB_ENV}
144 echo CXX="g++-11" >> ${GITHUB_ENV}
145 - name: Install dependencies (Linux)
146 if: runner.os == 'Linux'
148 sudo apt-get update -y
149 sudo apt-get install -my \
154 ${INSTALL_MEMCACHED} \
155 ${INSTALL_CC} ${INSTALL_CXX}
156 sudo systemctl stop memcached || true
157 - name: Build memcached
158 if: runner.os != 'Windows'
164 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
165 ./configure CFLAGS="-O2 -pipe -fcommon" \
166 --prefix=${MEMCACHED_PREFIX} \
170 --disable-dependency-tracking \
173 --disable-option-checking \
178 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
180 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
181 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
182 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
183 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
185 if: env.BUILD_TESTING == 'ON'
186 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
188 if: env.BUILD_TESTING == 'ON'
189 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
190 - name: Failed tests log
191 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
192 run: cat build/Testing/Temporary/LastTest.log || true
195 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
196 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
198 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
199 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
200 cmake -DCPACK_COMPONENT_INSTALL=ON build
201 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
202 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
203 - name: Notify Gitter
205 GITTER: ${{ secrets.GITTER }}
206 if: (success() || failure()) && env.GITTER != ''
207 run: bash .github/notify-gitter.sh ${{ job.status }}
210 debug-coverage-linux:
211 name: debug coverage (ubuntu-22.04, gnu)
212 runs-on: ubuntu-22.04 #
214 CMAKE_BUILD_TYPE: "Debug"
217 CFLAGS: "-O0 --coverage"
218 CXXFLAGS: "-O0 --coverage"
219 INSTALL_MEMCACHED: ""
220 MEMCACHED_PREFIX: "/tmp"
223 - uses: actions/checkout@v3
224 - uses: actions/checkout@v3
226 repository: memcached/memcached
229 - name: Prepare environment (for cur gnu on ubuntu-22.04)
230 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
232 echo CC="gcc-11" >> ${GITHUB_ENV}
233 echo CXX="g++-11" >> ${GITHUB_ENV}
234 - name: Install dependencies (Linux)
235 if: runner.os == 'Linux'
237 sudo apt-get update -y
238 sudo apt-get install -my \
243 ${INSTALL_MEMCACHED} \
244 ${INSTALL_CC} ${INSTALL_CXX}
245 sudo systemctl stop memcached || true
246 - name: Build memcached
247 if: runner.os != 'Windows'
253 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
254 ./configure CFLAGS="-O2 -pipe -fcommon" \
255 --prefix=${MEMCACHED_PREFIX} \
259 --disable-dependency-tracking \
262 --disable-option-checking \
267 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
269 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
270 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
271 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
272 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
274 if: env.BUILD_TESTING == 'ON'
275 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
277 if: env.BUILD_TESTING == 'ON'
278 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
279 - name: Failed tests log
280 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
281 run: cat build/Testing/Temporary/LastTest.log || true
284 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
285 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
287 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
288 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
289 cmake -DCPACK_COMPONENT_INSTALL=ON build
290 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
291 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
292 - name: Notify Gitter
294 GITTER: ${{ secrets.GITTER }}
295 if: (success() || failure()) && env.GITTER != ''
296 run: bash .github/notify-gitter.sh ${{ job.status }}
297 - uses: codecov/codecov-action@v3
302 name: debug coverage (macos-12, clang)
305 CMAKE_BUILD_TYPE: "Debug"
308 CFLAGS: "-O0 --coverage"
309 CXXFLAGS: "-O0 --coverage"
314 continue-on-error: true
316 - uses: actions/checkout@v3
317 - name: Install dependencies (macOS)
318 if: runner.os == 'macOS'
320 brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
321 brew services stop memcached || true
322 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
323 - name: Build memcached
324 if: runner.os != 'Windows'
330 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
331 ./configure CFLAGS="-O2 -pipe -fcommon" \
332 --prefix=${MEMCACHED_PREFIX} \
336 --disable-dependency-tracking \
339 --disable-option-checking \
344 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
346 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
347 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
348 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
349 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
351 if: env.BUILD_TESTING == 'ON'
352 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
354 if: env.BUILD_TESTING == 'ON'
355 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
356 - name: Failed tests log
357 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
358 run: cat build/Testing/Temporary/LastTest.log || true
361 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
362 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
364 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
365 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
366 cmake -DCPACK_COMPONENT_INSTALL=ON build
367 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
368 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
369 - name: Notify Gitter
371 GITTER: ${{ secrets.GITTER }}
372 if: (success() || failure()) && env.GITTER != ''
373 run: bash .github/notify-gitter.sh ${{ job.status }}
374 - uses: codecov/codecov-action@v3
382 os_ver: [macos-12, macos-11, macos-10.15]
383 runs-on: ${{ matrix.os_ver }}
385 CMAKE_BUILD_TYPE: "Release"
386 BUILD_DOCS_MANGZ: "ON"
391 continue-on-error: true
393 - uses: actions/checkout@v3
396 - name: Install dependencies (macOS)
397 if: runner.os == 'macOS'
399 brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
400 brew services stop memcached || true
401 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
402 - name: Build memcached
403 if: runner.os != 'Windows'
409 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
410 ./configure CFLAGS="-O2 -pipe -fcommon" \
411 --prefix=${MEMCACHED_PREFIX} \
415 --disable-dependency-tracking \
418 --disable-option-checking \
423 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
425 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
426 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
427 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
428 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
430 if: env.BUILD_TESTING == 'ON'
431 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
433 if: env.BUILD_TESTING == 'ON'
434 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
435 - name: Failed tests log
436 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
437 run: cat build/Testing/Temporary/LastTest.log || true
440 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
441 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
443 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
444 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
445 cmake -DCPACK_COMPONENT_INSTALL=ON build
446 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
447 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
448 - name: Notify Gitter
450 GITTER: ${{ secrets.GITTER }}
451 if: (success() || failure()) && env.GITTER != ''
452 run: bash .github/notify-gitter.sh ${{ job.status }}
454 # windows release builds
460 os_ver: [windows-2022, windows-2019]
461 cc_vnd: [msvc, mingw]
463 runs-on: ${{ matrix.os_ver }}
464 continue-on-error: true
466 CMAKE_BUILD_TYPE: "Release"
468 OS_VER: ${{ matrix.os_ver }}
469 CC_VND: ${{ matrix.cc_vnd }}
470 CC_VER: ${{ matrix.cc_ver }}
472 - uses: actions/checkout@v3
475 - name: Prepare environment (Windows)
477 echo "c:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
478 echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
479 - name: Prepare environment (for cur msvc on windows-2022)
480 if: (env.OS_VER=='windows-2022') && (env.CC_VND=='msvc') && (env.CC_VER=='cur')
482 echo 'CMAKE_GENERATOR=Visual Studio 17 2022' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
483 - name: Prepare environment (for cur mingw on windows-2022)
484 if: (env.OS_VER=='windows-2022') && (env.CC_VND=='mingw') && (env.CC_VER=='cur')
486 echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
487 - name: Prepare environment (for cur msvc on windows-2019)
488 if: (env.OS_VER=='windows-2019') && (env.CC_VND=='msvc') && (env.CC_VER=='cur')
490 echo 'CMAKE_GENERATOR=Visual Studio 16 2019' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
491 - name: Prepare environment (for cur mingw on windows-2019)
492 if: (env.OS_VER=='windows-2019') && (env.CC_VND=='mingw') && (env.CC_VER=='cur')
494 echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
495 - name: Install dependencies (Windows)
496 if: runner.os == 'Windows'
497 uses: msys2/setup-msys2@v2
506 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
507 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
508 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
509 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
511 if: env.BUILD_TESTING == 'ON'
512 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
514 if: env.BUILD_TESTING == 'ON'
515 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
516 - name: Failed tests log
517 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
518 run: cat build/Testing/Temporary/LastTest.log || true
521 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
522 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
524 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
525 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
526 cmake -DCPACK_COMPONENT_INSTALL=ON build
527 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
528 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
529 - name: Notify Gitter
531 GITTER: ${{ secrets.GITTER }}
532 if: (success() || failure()) && env.GITTER != ''
533 run: bash .github/notify-gitter.sh ${{ job.status }}
535 # linux release builds
540 os_ver: [ubuntu-22.04, ubuntu-20.04]
542 cc_ver: [new, cur, old]
543 runs-on: ${{ matrix.os_ver }}
544 continue-on-error: ${{ matrix.cc_vnd == 'clang' }}
546 CMAKE_BUILD_TYPE: "Release"
547 BUILD_DOCS_MANGZ: "ON"
549 OS_VER: ${{ matrix.os_ver }}
550 CC_VND: ${{ matrix.cc_vnd }}
551 CC_VER: ${{ matrix.cc_ver }}
553 - uses: actions/checkout@v3
556 - name: Prepare environment (for new gnu on ubuntu-22.04)
557 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
559 echo CC="gcc-12" >> ${GITHUB_ENV}
560 echo CXX="g++-12" >> ${GITHUB_ENV}
561 - name: Prepare environment (for cur gnu on ubuntu-22.04)
562 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
564 echo CC="gcc-11" >> ${GITHUB_ENV}
565 echo CXX="g++-11" >> ${GITHUB_ENV}
566 - name: Prepare environment (for old gnu on ubuntu-22.04)
567 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
569 echo CC="gcc-10" >> ${GITHUB_ENV}
570 echo CXX="g++-10" >> ${GITHUB_ENV}
571 - name: Prepare environment (for new clang on ubuntu-22.04)
572 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
574 echo CC="clang-14" >> ${GITHUB_ENV}
575 echo CXX="clang++-14" >> ${GITHUB_ENV}
576 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
577 echo INSTALL_CXX="libc++-14-dev libc++abi-14-dev" >> ${GITHUB_ENV}
578 - name: Prepare environment (for cur clang on ubuntu-22.04)
579 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
581 echo CC="clang-13" >> ${GITHUB_ENV}
582 echo CXX="clang++-13" >> ${GITHUB_ENV}
583 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
584 echo INSTALL_CXX="libc++-13-dev libc++abi-13-dev" >> ${GITHUB_ENV}
585 - name: Prepare environment (for new gnu on ubuntu-20.04)
586 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
588 echo CC="gcc-10" >> ${GITHUB_ENV}
589 echo CXX="g++-10" >> ${GITHUB_ENV}
590 - name: Prepare environment (for cur gnu on ubuntu-20.04)
591 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
593 echo CC="gcc-9" >> ${GITHUB_ENV}
594 echo CXX="g++-9" >> ${GITHUB_ENV}
595 - name: Prepare environment (for new clang on ubuntu-20.04)
596 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
598 echo CC="clang-12" >> ${GITHUB_ENV}
599 echo CXX="clang++-12" >> ${GITHUB_ENV}
600 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
601 echo INSTALL_CXX="libc++-12-dev libc++abi-12-dev" >> ${GITHUB_ENV}
602 - name: Prepare environment (for cur clang on ubuntu-20.04)
603 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
605 echo CC="clang-11" >> ${GITHUB_ENV}
606 echo CXX="clang++-11" >> ${GITHUB_ENV}
607 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
608 echo INSTALL_CXX="libc++-11-dev libc++abi-11-dev" >> ${GITHUB_ENV}
609 - name: Prepare environment (for old clang on ubuntu-20.04)
610 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
612 echo CC="clang-10" >> ${GITHUB_ENV}
613 echo CXX="clang++-10" >> ${GITHUB_ENV}
614 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
615 echo INSTALL_CXX="libc++-10-dev libc++abi-10-dev" >> ${GITHUB_ENV}
616 - name: Install dependencies (Linux)
617 if: runner.os == 'Linux'
619 sudo apt-get update -y
620 sudo apt-get install -my \
625 ${INSTALL_MEMCACHED} \
626 ${INSTALL_CC} ${INSTALL_CXX}
627 sudo systemctl stop memcached || true
628 - name: Build memcached
629 if: runner.os != 'Windows'
635 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
636 ./configure CFLAGS="-O2 -pipe -fcommon" \
637 --prefix=${MEMCACHED_PREFIX} \
641 --disable-dependency-tracking \
644 --disable-option-checking \
649 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
651 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
652 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
653 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
654 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
656 if: env.BUILD_TESTING == 'ON'
657 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
659 if: env.BUILD_TESTING == 'ON'
660 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
661 - name: Failed tests log
662 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
663 run: cat build/Testing/Temporary/LastTest.log || true
666 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
667 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
669 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
670 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
671 cmake -DCPACK_COMPONENT_INSTALL=ON build
672 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
673 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
674 - name: Notify Gitter
676 GITTER: ${{ secrets.GITTER }}
677 if: (success() || failure()) && env.GITTER != ''
678 run: bash .github/notify-gitter.sh ${{ job.status }}