-
Notifications
You must be signed in to change notification settings - Fork 38
35 lines (32 loc) · 1.54 KB
/
clean-cache.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
name: Clean branch cache
on:
workflow_dispatch :
inputs:
branch:
description: 'Name of the branch for which removing the cache'
required: true
delete:
permissions: read-all
jobs:
clean-cache:
if: inputs.branch || github.event.ref_type == 'branch'
runs-on: ubuntu-latest
permissions:
# Needed to delete cache from action
actions: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Clean Branch Cache
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
branchName: ${{ inputs.branch || github.event.ref }}
hash: ${{ hashFiles('package.json', 'tsconfig.base.json', 'tsconfig.build.json', 'nx.json') }}
with:
script: |
const globalKey = '${{ runner.os }}-build-' + process.env.hash + '-global-' + process.env.branchName;
const testKey = '${{ runner.os }}-build-' + process.env.hash + '-test-' + process.env.branchName;
const lintKey = '${{ runner.os }}-build-' + process.env.hash + '-lint-' + process.env.branchName;
const [owner, repo] = '${{ github.repository }}'.split('/');
github.rest.actions.deleteActionsCacheByKey({key: globalKey, owner, repo}).catch((e) => console.error(e));
github.rest.actions.deleteActionsCacheByKey({key: testKey, owner, repo}).catch((e) => console.error(e));
github.rest.actions.deleteActionsCacheByKey({key: lintKey, owner, repo}).catch((e) => console.error(e));