Browse Source

chore(CI): use cache for mac

zhanghongtong 4 years ago
parent
commit
29bbc0802b
2 changed files with 18 additions and 4 deletions
  1. 8 1
      .github/workflows/build_packages.yaml
  2. 10 3
      .github/workflows/build_slim_packages.yaml

+ 8 - 1
.github/workflows/build_packages.yaml

@@ -137,10 +137,17 @@ jobs:
       run: unzip -q source.zip
     - name: prepare
       run: |
+        brew update
         brew install curl zip unzip gnu-sed kerl unixodbc freetds
         echo "/usr/local/bin" >> $GITHUB_PATH
         git config --global credential.helper store
+    - uses: actions/cache@v2
+      id: cache
+      with:
+        path: ~/.kerl
+        key: erl${{ matrix.erl_otp }}-macos10.15
     - name: build erlang
+      if: steps.cache.outputs.cache-hit != 'true'
       timeout-minutes: 60
       run: |
         kerl build ${{ matrix.erl_otp }}
@@ -153,7 +160,7 @@ jobs:
       run: |
         cd source
         pkg_name=$(basename _packages/${{ matrix.profile }}/${{ matrix.profile }}-*.zip)
-        unzip _packages/${{ matrix.profile }}/$pkg_name
+        unzip -q _packages/${{ matrix.profile }}/$pkg_name
         gsed -i '/emqx_telemetry/d' ./emqx/data/loaded_plugins
         ./emqx/bin/emqx start || cat emqx/log/erlang.log.1
         ready='no'

+ 10 - 3
.github/workflows/build_slim_packages.yaml

@@ -69,10 +69,17 @@ jobs:
         fi
     - name: prepare
       run: |
+        brew update
         brew install curl zip unzip gnu-sed kerl unixodbc freetds
         echo "/usr/local/bin" >> $GITHUB_PATH
         git config --global credential.helper store
+    - uses: actions/cache@v2
+      id: cache
+      with:
+        path: ~/.kerl
+        key: erl${{ matrix.erl_otp }}-macos10.15
     - name: build erlang
+      if: steps.cache.outputs.cache-hit != 'true'
       timeout-minutes: 60
       run: |
         kerl build ${{ matrix.erl_otp }}
@@ -84,7 +91,7 @@ jobs:
     - name: test
       run: |
         pkg_name=$(basename _packages/${EMQX_NAME}/emqx-*.zip)
-        unzip _packages/${EMQX_NAME}/$pkg_name
+        unzip -q _packages/${EMQX_NAME}/$pkg_name
         gsed -i '/emqx_telemetry/d' ./emqx/data/loaded_plugins
         ./emqx/bin/emqx start || cat emqx/log/erlang.log.1
         ready='no'
@@ -103,7 +110,7 @@ jobs:
         ./emqx/bin/emqx_ctl status
         ./emqx/bin/emqx stop
         rm -rf emqx
-    - uses: actions/upload-artifact@v1
+    - uses: actions/upload-artifact@v2
       with:
         name: macos
-        path: _packages/emqx/.
+        path: _packages/**/*.zip