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 #
37 name: dbg-cov (ubuntu-22.04, gnu, cur)
38 runs-on: ubuntu-22.04 #
40 CMAKE_BUILD_TYPE: "Debug"
43 CFLAGS: "-O0 --coverage"
44 CXXFLAGS: "-O0 --coverage"
46 MEMCACHED_PREFIX: "/tmp"
49 - uses: actions/checkout@v3
50 - uses: actions/checkout@v3
52 repository: memcached/memcached
55 - name: Prepare environment (for cur gnu on ubuntu-22.04)
56 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
58 echo CC="gcc-11" >> ${GITHUB_ENV}
59 echo CXX="g++-11" >> ${GITHUB_ENV}
60 - name: Install dependencies (Linux)
61 if: runner.os == 'Linux'
63 sudo apt-get update -y
64 sudo apt-get install -my \
69 ${INSTALL_MEMCACHED} \
70 ${INSTALL_CC} ${INSTALL_CXX}
71 sudo systemctl stop memcached || true
72 - name: Build memcached
73 if: runner.os != 'Windows'
79 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
80 ./configure CFLAGS="-O2 -pipe -fcommon" \
81 --prefix=${MEMCACHED_PREFIX} \
85 --disable-dependency-tracking \
88 --disable-option-checking \
93 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
95 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
96 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
97 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
98 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
100 if: env.BUILD_TESTING == 'ON'
101 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
103 if: env.BUILD_TESTING == 'ON'
104 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
105 - name: Failed tests log
106 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
107 run: cat build/Testing/Temporary/LastTest.log || true
110 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
111 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
113 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
114 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
115 cmake -DCPACK_COMPONENT_INSTALL=ON build
116 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
117 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
118 - name: Notify Gitter
120 GITTER: ${{ secrets.GITTER }}
121 if: (success() || failure()) && env.GITTER != ''
122 run: bash .github/notify-gitter.sh ${{ job.status }}
123 - uses: codecov/codecov-action@v3
127 runs-on: ubuntu-22.04 #
130 sanitizer: ['address;undefined', 'thread']
132 CMAKE_BUILD_TYPE: "Debug"
135 ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
137 - uses: actions/checkout@v3
138 - name: Prepare environment (for cur gnu on ubuntu-22.04)
139 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
141 echo CC="gcc-11" >> ${GITHUB_ENV}
142 echo CXX="g++-11" >> ${GITHUB_ENV}
143 - name: Install dependencies (Linux)
144 if: runner.os == 'Linux'
146 sudo apt-get update -y
147 sudo apt-get install -my \
152 ${INSTALL_MEMCACHED} \
153 ${INSTALL_CC} ${INSTALL_CXX}
154 sudo systemctl stop memcached || true
155 - name: Build memcached
156 if: runner.os != 'Windows'
162 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
163 ./configure CFLAGS="-O2 -pipe -fcommon" \
164 --prefix=${MEMCACHED_PREFIX} \
168 --disable-dependency-tracking \
171 --disable-option-checking \
176 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
178 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
179 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
180 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
181 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
183 if: env.BUILD_TESTING == 'ON'
184 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
186 if: env.BUILD_TESTING == 'ON'
187 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
188 - name: Failed tests log
189 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
190 run: cat build/Testing/Temporary/LastTest.log || true
193 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
194 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
196 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
197 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
198 cmake -DCPACK_COMPONENT_INSTALL=ON build
199 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
200 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
201 - name: Notify Gitter
203 GITTER: ${{ secrets.GITTER }}
204 if: (success() || failure()) && env.GITTER != ''
205 run: bash .github/notify-gitter.sh ${{ job.status }}
209 runs-on: ubuntu-22.04 #
210 continue-on-error: true
213 memcached: ['master', '1.6.17', '1.6.9', '1.5.22', '1.5.6']
215 CMAKE_BUILD_TYPE: "Debug"
218 INSTALL_MEMCACHED: ""
219 MEMCACHED_PREFIX: "/tmp"
222 - uses: actions/checkout@v3
223 - uses: actions/checkout@v3
225 repository: memcached/memcached
227 ref: ${{ matrix.memcached }}
228 - name: Prepare environment (for cur gnu on ubuntu-22.04)
229 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
231 echo CC="gcc-11" >> ${GITHUB_ENV}
232 echo CXX="g++-11" >> ${GITHUB_ENV}
233 - name: Install dependencies (Linux)
234 if: runner.os == 'Linux'
236 sudo apt-get update -y
237 sudo apt-get install -my \
242 ${INSTALL_MEMCACHED} \
243 ${INSTALL_CC} ${INSTALL_CXX}
244 sudo systemctl stop memcached || true
245 - name: Build memcached
246 if: runner.os != 'Windows'
252 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
253 ./configure CFLAGS="-O2 -pipe -fcommon" \
254 --prefix=${MEMCACHED_PREFIX} \
258 --disable-dependency-tracking \
261 --disable-option-checking \
266 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
268 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
269 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
270 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
271 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
273 if: env.BUILD_TESTING == 'ON'
274 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
276 if: env.BUILD_TESTING == 'ON'
277 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
278 - name: Failed tests log
279 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
280 run: cat build/Testing/Temporary/LastTest.log || true
283 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
284 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
286 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
287 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
288 cmake -DCPACK_COMPONENT_INSTALL=ON build
289 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
290 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
291 - name: Notify Gitter
293 GITTER: ${{ secrets.GITTER }}
294 if: (success() || failure()) && env.GITTER != ''
295 run: bash .github/notify-gitter.sh ${{ job.status }}
299 name: debug (macos-10.15, clang, cur)
300 runs-on: macos-10.15 #
302 CMAKE_BUILD_TYPE: "Debug"
305 CFLAGS: "-O0 --coverage"
306 CXXFLAGS: "-O0 --coverage"
308 OS_VER: macos-10.15 #
311 continue-on-error: true
313 - uses: actions/checkout@v3
314 - name: Install dependencies (macOS)
315 if: runner.os == 'macOS'
317 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
318 brew services stop memcached || true
319 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
320 - name: Build memcached
321 if: runner.os != 'Windows'
327 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
328 ./configure CFLAGS="-O2 -pipe -fcommon" \
329 --prefix=${MEMCACHED_PREFIX} \
333 --disable-dependency-tracking \
336 --disable-option-checking \
341 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
343 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
344 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
345 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
346 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
348 if: env.BUILD_TESTING == 'ON'
349 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
351 if: env.BUILD_TESTING == 'ON'
352 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
353 - name: Failed tests log
354 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
355 run: cat build/Testing/Temporary/LastTest.log || true
358 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
359 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
361 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
362 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
363 cmake -DCPACK_COMPONENT_INSTALL=ON build
364 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
365 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
366 - name: Notify Gitter
368 GITTER: ${{ secrets.GITTER }}
369 if: (success() || failure()) && env.GITTER != ''
370 run: bash .github/notify-gitter.sh ${{ job.status }}
371 - uses: codecov/codecov-action@v3
375 name: release (macos-10.15, clang, cur)
376 runs-on: macos-10.15 #
378 CMAKE_BUILD_TYPE: "Release"
379 BUILD_DOCS_MANGZ: "ON"
381 OS_VER: macos-10.15 #
384 continue-on-error: true
386 - uses: actions/checkout@v3
389 - name: Install dependencies (macOS)
390 if: runner.os == 'macOS'
392 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
393 brew services stop memcached || true
394 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
395 - name: Build memcached
396 if: runner.os != 'Windows'
402 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
403 ./configure CFLAGS="-O2 -pipe -fcommon" \
404 --prefix=${MEMCACHED_PREFIX} \
408 --disable-dependency-tracking \
411 --disable-option-checking \
416 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
418 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
419 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
420 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
421 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
423 if: env.BUILD_TESTING == 'ON'
424 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
426 if: env.BUILD_TESTING == 'ON'
427 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
428 - name: Failed tests log
429 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
430 run: cat build/Testing/Temporary/LastTest.log || true
433 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
434 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
436 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
437 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
438 cmake -DCPACK_COMPONENT_INSTALL=ON build
439 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
440 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
441 - name: Notify Gitter
443 GITTER: ${{ secrets.GITTER }}
444 if: (success() || failure()) && env.GITTER != ''
445 run: bash .github/notify-gitter.sh ${{ job.status }}
447 # windows release builds
453 os_ver: [windows-2019]
454 cc_vnd: [msvc, mingw]
456 runs-on: ${{ matrix.os_ver }}
457 continue-on-error: true
459 CMAKE_BUILD_TYPE: "Release"
461 OS_VER: ${{ matrix.os_ver }}
462 CC_VND: ${{ matrix.cc_vnd }}
463 CC_VER: ${{ matrix.cc_ver }}
465 - uses: actions/checkout@v3
468 - name: Prepare environment (Windows)
470 echo "c:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
471 echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
472 echo 'CMAKE_GENERATOR=Visual Studio 16 2019' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
473 - name: Prepare environment (MinGW)
474 if: env.CC_VND == 'mingw'
476 echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
477 - name: Install dependencies (Windows)
478 if: runner.os == 'Windows'
479 uses: msys2/setup-msys2@v2
486 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
487 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
488 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
489 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
491 if: env.BUILD_TESTING == 'ON'
492 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
494 if: env.BUILD_TESTING == 'ON'
495 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
496 - name: Failed tests log
497 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
498 run: cat build/Testing/Temporary/LastTest.log || true
501 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
502 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
504 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
505 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
506 cmake -DCPACK_COMPONENT_INSTALL=ON build
507 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
508 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
509 - name: Notify Gitter
511 GITTER: ${{ secrets.GITTER }}
512 if: (success() || failure()) && env.GITTER != ''
513 run: bash .github/notify-gitter.sh ${{ job.status }}
515 # linux release builds
520 os_ver: [ubuntu-22.04, ubuntu-20.04]
522 cc_ver: [new, cur, old]
523 runs-on: ${{ matrix.os_ver }}
524 continue-on-error: ${{ matrix.cc_vnd == 'clang' }}
526 CMAKE_BUILD_TYPE: "Release"
527 BUILD_DOCS_MANGZ: "ON"
529 OS_VER: ${{ matrix.os_ver }}
530 CC_VND: ${{ matrix.cc_vnd }}
531 CC_VER: ${{ matrix.cc_ver }}
533 - uses: actions/checkout@v3
536 - name: Prepare environment (for new gnu on ubuntu-22.04)
537 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
539 echo CC="gcc-12" >> ${GITHUB_ENV}
540 echo CXX="g++-12" >> ${GITHUB_ENV}
541 - name: Prepare environment (for cur gnu on ubuntu-22.04)
542 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
544 echo CC="gcc-11" >> ${GITHUB_ENV}
545 echo CXX="g++-11" >> ${GITHUB_ENV}
546 - name: Prepare environment (for old gnu on ubuntu-22.04)
547 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
549 echo CC="gcc-10" >> ${GITHUB_ENV}
550 echo CXX="g++-10" >> ${GITHUB_ENV}
551 - name: Prepare environment (for new clang on ubuntu-22.04)
552 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
554 echo CC="clang-14" >> ${GITHUB_ENV}
555 echo CXX="clang++-14" >> ${GITHUB_ENV}
556 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
557 echo INSTALL_CXX="libc++-14-dev libc++abi-14-dev" >> ${GITHUB_ENV}
558 - name: Prepare environment (for cur clang on ubuntu-22.04)
559 if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
561 echo CC="clang-13" >> ${GITHUB_ENV}
562 echo CXX="clang++-13" >> ${GITHUB_ENV}
563 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
564 echo INSTALL_CXX="libc++-13-dev libc++abi-13-dev" >> ${GITHUB_ENV}
565 - name: Prepare environment (for new gnu on ubuntu-20.04)
566 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
568 echo CC="gcc-10" >> ${GITHUB_ENV}
569 echo CXX="g++-10" >> ${GITHUB_ENV}
570 - name: Prepare environment (for cur gnu on ubuntu-20.04)
571 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
573 echo CC="gcc-9" >> ${GITHUB_ENV}
574 echo CXX="g++-9" >> ${GITHUB_ENV}
575 - name: Prepare environment (for new clang on ubuntu-20.04)
576 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
578 echo CC="clang-12" >> ${GITHUB_ENV}
579 echo CXX="clang++-12" >> ${GITHUB_ENV}
580 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
581 echo INSTALL_CXX="libc++-12-dev libc++abi-12-dev" >> ${GITHUB_ENV}
582 - name: Prepare environment (for cur clang on ubuntu-20.04)
583 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
585 echo CC="clang-11" >> ${GITHUB_ENV}
586 echo CXX="clang++-11" >> ${GITHUB_ENV}
587 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
588 echo INSTALL_CXX="libc++-11-dev libc++abi-11-dev" >> ${GITHUB_ENV}
589 - name: Prepare environment (for old clang on ubuntu-20.04)
590 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
592 echo CC="clang-10" >> ${GITHUB_ENV}
593 echo CXX="clang++-10" >> ${GITHUB_ENV}
594 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
595 echo INSTALL_CXX="libc++-10-dev libc++abi-10-dev" >> ${GITHUB_ENV}
596 - name: Install dependencies (Linux)
597 if: runner.os == 'Linux'
599 sudo apt-get update -y
600 sudo apt-get install -my \
605 ${INSTALL_MEMCACHED} \
606 ${INSTALL_CC} ${INSTALL_CXX}
607 sudo systemctl stop memcached || true
608 - name: Build memcached
609 if: runner.os != 'Windows'
615 cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
616 ./configure CFLAGS="-O2 -pipe -fcommon" \
617 --prefix=${MEMCACHED_PREFIX} \
621 --disable-dependency-tracking \
624 --disable-option-checking \
629 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
631 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
632 run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
633 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
634 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
636 if: env.BUILD_TESTING == 'ON'
637 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
639 if: env.BUILD_TESTING == 'ON'
640 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
641 - name: Failed tests log
642 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
643 run: cat build/Testing/Temporary/LastTest.log || true
646 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
647 if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
649 cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
650 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
651 cmake -DCPACK_COMPONENT_INSTALL=ON build
652 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
653 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
654 - name: Notify Gitter
656 GITTER: ${{ secrets.GITTER }}
657 if: (success() || failure()) && env.GITTER != ''
658 run: bash .github/notify-gitter.sh ${{ job.status }}