1
0
mirror of synced 2026-01-08 12:03:02 -05:00
Files
airbyte/.github/actions/cache-build-artifacts/action.yml
Davin Chia ba3265a76b Add caching to all jobs in the main build. (#10801)
Add build dependency caching to all jobs in the main build.

This speeds things up by 5 mins over the previously uncached time.
2022-03-03 21:55:32 +08:00

43 lines
1.5 KiB
YAML

name: "Cache Build Artifacts"
description: "Cache Java, Javascript and Python build artifacts to reduce build time"
inputs:
cache-key:
description: "Key to use for caching"
required: true
cache-python:
description: "Whether to cache Python dependencies. Only relevant if building connector modules. true or false"
default: "true"
required: true
runs:
using: "composite"
steps:
- name: Pip Caching
if: ${{ inputs.cache_python }} == 'true'
uses: actions/cache@v2
with:
path: |
~/.cache/pip
key: ${{ inputs.cache-key }}-pip-${{ runner.os }}-${{ hashFiles('**/setup.py') }}-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ inputs.cache-key }}-pip-${{ runner.os }}-
- name: Npm Caching
uses: actions/cache@v2
with:
path: |
~/.npm
key: ${{ inputs.cache-key }}-npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ inputs.cache-key }}-npm-${{ runner.os }}-
# this intentionally does not use restore-keys so we don't mess with gradle caching
- name: Gradle and Python Caching
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
**/.venv
key: ${{ inputs.cache-key }}-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/setup.py') }}-${{ hashFiles('**/requirements.txt') }}