update ci
[awesomized/libmemcached] / .github / workflows / cmake-build-ci.yml
index fcb497a56371e056d4a6d148f0a7afe47c54f45a..6356fa6492cd57f1a83208217fbdaa89afeddf36 100644 (file)
@@ -1,15 +1,18 @@
 # Generated file; do not edit!
 name: cmake-build-ci
 on:
+  workflow_dispatch:
+  release:
+    types: [published]
   push:
     paths:
+      - ".github/workflows/cmake-build-ci*"
+      - "CMake*"
+      - "CPack*"
       - "contrib/**"
       - "include/**"
       - "src/**"
       - "test/**"
-      - "CMake*"
-      - "CPack*"
-      - ".github/workflows/cmake-build-ci*"
     branches-ignore:
       - gh-pages
   pull_request:
@@ -103,7 +106,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -111,7 +114,10 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}
       - uses: codecov/codecov-action@v1.0.13
 
   # sanitizer build
@@ -181,7 +187,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -189,7 +195,10 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}
 
   # mac debug
   dbg-mac:
@@ -252,7 +261,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -260,7 +269,10 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}
       - uses: codecov/codecov-action@v1.0.13
 
   # mac release
@@ -323,7 +335,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -331,7 +343,10 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}
 
   # windows release builds
   windows:
@@ -360,7 +375,7 @@ jobs:
       - name: Prepare environment (MinGW)
         if: env.CC_VND == 'mingw'
         run: |
-          echo "CMAKE_GENERATOR=\"MinGW Makefiles\"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+          echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
       - name: Install dependencies (Windows)
         if: runner.os == 'Windows'
         uses: msys2/setup-msys2@v2
@@ -386,7 +401,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -394,7 +409,10 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}
 
   # linux release builds
   release:
@@ -439,16 +457,21 @@ jobs:
         run: |
           echo CC="clang-10" >> ${GITHUB_ENV}
           echo CXX="clang++-10" >> ${GITHUB_ENV}
+          echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
       - name: Prepare environment (for cur clang on ubuntu-20.04)
         if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
         run: |
           echo CC="clang-9" >> ${GITHUB_ENV}
           echo CXX="clang++-9" >> ${GITHUB_ENV}
+          echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
+          echo INSTALL_CXX="libc++-9-dev libc++abi-9-dev" >> ${GITHUB_ENV}
       - name: Prepare environment (for old clang on ubuntu-20.04)
         if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
         run: |
           echo CC="clang-8" >> ${GITHUB_ENV}
           echo CXX="clang++-8" >> ${GITHUB_ENV}
+          echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
+          echo INSTALL_CXX="libc++-8-dev libc++abi-8-dev" >> ${GITHUB_ENV}
       - name: Prepare environment (for new gnu on ubuntu-18.04)
         if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
         run: |
@@ -469,11 +492,13 @@ jobs:
         run: |
           echo CC="clang-9" >> ${GITHUB_ENV}
           echo CXX="clang++-9" >> ${GITHUB_ENV}
+          echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
       - name: Prepare environment (for cur clang on ubuntu-18.04)
         if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
         run: |
           echo CC="clang-8" >> ${GITHUB_ENV}
           echo CXX="clang++-8" >> ${GITHUB_ENV}
+          echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
       - name: Prepare environment (for old clang on ubuntu-18.04)
         if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
         run: |
@@ -529,7 +554,7 @@ jobs:
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -537,4 +562,7 @@ jobs:
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
       - name: Notify Gitter
-        run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+        env:
+          GITTER: ${{ secrets.GITTER }}
+        if: (success() || failure()) && env.GITTER != ''
+        run: bash .github/notify-gitter.sh ${{ job.status }}