-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (45 loc) · 1.64 KB
/
Copy pathartifact-prune.yml
File metadata and controls
54 lines (45 loc) · 1.64 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Weekly artifact-prune job (Phase 0 retention policy, artifact-gc task).
# Deletes perf-capture dirs older than 30 days that are not cited in docs. See
# scripts/artifact-prune.ts for rules. (There is no perf-baselines.json pin to
# honor — that file was permanently removed 2026-06-02; the script's "pinned in
# perf-baselines.json" clause is now an `if present` no-op. Perf is
# raw-metrics / non-gating until STABILIZAT-1 re-establishes a baseline. —
# ci-gate-consolidation 2026-06-09)
# Manually inspect runs with: gh run list --workflow=artifact-prune.yml
name: artifact-prune
on:
schedule:
- cron: '0 4 * * 0' # Sunday 04:00 UTC
workflow_dispatch: {}
permissions:
contents: write
concurrency:
group: artifact-prune
cancel-in-progress: false
jobs:
prune:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Install dependencies
run: npm ci --prefer-offline
- name: Apply retention prune
run: npm run artifact:prune:apply
- name: Commit pruned state
run: |
git config user.name "artifact-prune-bot"
git config user.email "artifact-prune-bot@users.noreply.github.com"
git add -A artifacts/ || true
if git diff --cached --quiet; then
echo "No tracked artifact changes to commit (artifacts/ is gitignored on master)."
else
git commit -m "chore(artifacts): weekly prune (artifact-gc)"
git push
fi