CI: github actions: use cache for SSL libs
we have two kinds of SSL libs built - git based and version based.
this commit introduces caching for version based SSL libs.
diff --git a/.github/workflows/vtest.yml b/.github/workflows/vtest.yml
index d748ee2..ac51605 100644
--- a/.github/workflows/vtest.yml
+++ b/.github/workflows/vtest.yml
@@ -47,6 +47,22 @@
- uses: actions/checkout@v2
with:
fetch-depth: 100
+#
+# Github Action cache key cannot contain comma, so we calculate it based on job name
+#
+ - name: Generate cache key
+ id: generate-cache-key
+ run: |
+ echo "::set-output name=key::$(echo ${{ matrix.name }} | sha256sum | awk '{print $1}')"
+
+ - name: Cache SSL libs
+ if: ${{ matrix.ssl && matrix.ssl != 'stock' && matrix.ssl != 'BORINGSSL=yes' && matrix.ssl != 'QUICTLS=yes' }}
+ id: cache_ssl
+ uses: actions/cache@v2
+ with:
+ path: '~/opt/'
+ key: ssl-${{ steps.generate-cache-key.outputs.key }}
+
- name: Cache OpenTracing
if: ${{ contains(matrix.FLAGS, 'USE_OT=1') }}
id: cache_ot
@@ -73,7 +89,7 @@
run: |
scripts/build-vtest.sh
- name: Install SSL ${{ matrix.ssl }}
- if: ${{ matrix.ssl && matrix.ssl != 'stock' }}
+ if: ${{ matrix.ssl && matrix.ssl != 'stock' && steps.cache_ssl.outputs.cache-hit != 'true' }}
run: env ${{ matrix.ssl }} scripts/build-ssl.sh
- name: Install OpenTracing libs
if: ${{ contains(matrix.FLAGS, 'USE_OT=1') && steps.cache_ot.outputs.cache-hit != 'true' }}