Skip to content

Commit 528ad0e

Browse files
Feat: Add caching support for dependencies (#1292)
* add caching behaviors as an option to the action
1 parent 5e5b515 commit 528ad0e

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

action.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ inputs:
143143
description: 'drift-detection slack drift url'
144144
required: false
145145
default: ''
146+
cache-dependencies:
147+
description: "Leverage actions/cache to cache dependencies to speed up execution"
148+
required: false
149+
default: 'false'
146150
outputs:
147151
output:
148152
value: ${{ steps.digger.outputs.output }}
@@ -218,6 +222,16 @@ runs:
218222
subscription-id: ${{ inputs.azure-subscription-id }}
219223
if: ${{ inputs.setup-azure == 'true' && inputs.azure-client-id != '' }}
220224

225+
- uses: actions/cache/restore@v4
226+
id: restore_cache
227+
name: restore_cache
228+
with:
229+
path: ${{ github.workspace }}/cache
230+
key: digger-cache
231+
restore-keys: |
232+
digger-cache
233+
if: ${{ inputs.cache-dependencies == 'true' }}
234+
221235
- name: Setup Terraform
222236
uses: hashicorp/setup-terraform@v3
223237
with:
@@ -268,6 +282,10 @@ runs:
268282
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN'])
269283
core.exportVariable('ACTIONS_RUNTIME_URL', process.env['ACTIONS_RUNTIME_URL'])
270284
285+
- name: create cache dir
286+
run: |
287+
mkdir -p $GITHUB_WORKSPACE/cache
288+
shell: bash
271289

272290
- name: build and run digger
273291
if: ${{ !startsWith(github.action_ref, 'v') }}
@@ -290,6 +308,7 @@ runs:
290308
INPUT_DRIFT_DETECTION_SLACK_NOTIFICATION_URL: ${{ inputs.drift-detection-slack-notification-url }}
291309
NO_BACKEND: ${{ inputs.no-backend }}
292310
DEBUG: 'true'
311+
TF_PLUGIN_CACHE_DIR: ${{ github.workspace }}/cache
293312
run: |
294313
cd $GITHUB_ACTION_PATH/cli
295314
go build -o digger ./cmd/digger
@@ -325,6 +344,14 @@ runs:
325344
PATH=$PATH:$(pwd)
326345
cd $GITHUB_WORKSPACE
327346
digger
347+
348+
- uses: actions/cache/save@v4
349+
name: cache-save
350+
with:
351+
path: ${{ github.workspace }}/cache
352+
key: digger-cache-${{ hashFiles('**/cache') }}
353+
if: ${{ inputs.cache-dependencies == 'true' }}
354+
328355
branding:
329356
icon: globe
330357
color: purple

0 commit comments

Comments
 (0)