-
Notifications
You must be signed in to change notification settings - Fork 39
37 lines (34 loc) · 1.57 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
36
37
name: Clean branch cache
on:
workflow_dispatch :
inputs:
branch:
description: 'Name of the branch for which removing the cache'
required: true
delete:
branches:
- '**'
permissions: read-all
jobs:
clean-cache:
runs-on: ubuntu-latest
permissions:
# Needed to delete cache from action
actions: write
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Clean Branch Cache
if: inputs.branch || github.event.ref_type == 'branch'
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));