gh-actions: ci: package caches seem outdated
[awesomized/libmemcached] / .github / workflows / cmake-build-ci.yml
index b8548a6d9442301b772d48a71fb864f6720758bc..4614d1eade14776755b563ac5b2f2f893f0ed37f 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:
@@ -57,6 +60,7 @@ jobs:
       - name: Install dependencies (Linux)
         if: runner.os == 'Linux'
         run: |
+          sudo apt-get update -y
           sudo apt-get install -my \
             libevent-dev \
             libsasl2-dev \
@@ -103,7 +107,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 +115,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
@@ -135,6 +142,7 @@ jobs:
       - name: Install dependencies (Linux)
         if: runner.os == 'Linux'
         run: |
+          sudo apt-get update -y
           sudo apt-get install -my \
             libevent-dev \
             libsasl2-dev \
@@ -181,7 +189,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 +197,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 +263,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 +271,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 +337,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 +345,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:
@@ -386,7 +403,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 +411,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:
@@ -446,12 +466,14 @@ jobs:
           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: |
@@ -488,6 +510,7 @@ jobs:
       - name: Install dependencies (Linux)
         if: runner.os == 'Linux'
         run: |
+          sudo apt-get update -y
           sudo apt-get install -my \
             libevent-dev \
             libsasl2-dev \
@@ -534,7 +557,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
@@ -542,4 +565,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 }}