Skip to content

Commit 004f995

Browse files
committed
ci: add post-run cleanup to self-hosted runner workflows
Add cleanup steps that run on success to remove build artifacts after each job completes.
1 parent d7ff465 commit 004f995

3 files changed

Lines changed: 84 additions & 1 deletion

File tree

.github/workflows/ci-main.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,14 @@ jobs:
176176
path: target/${{ matrix.target }}/debian/*.deb
177177
retention-days: ${{ needs.setup.outputs.is-release == 'true' && '90' || '30' }}
178178

179+
- name: Post-run cleanup
180+
if: success()
181+
run: |
182+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
183+
sudo rm -rf "${WORKDIR}/target" || true
184+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
185+
sudo rm -rf "${WORKDIR}/terraphim_server/dist" || true
186+
179187
# Frontend build
180188
frontend-build:
181189
name: Frontend Build
@@ -223,6 +231,12 @@ jobs:
223231
path: desktop/dist/
224232
retention-days: ${{ needs.setup.outputs.is-release == 'true' && '90' || '30' }}
225233

234+
- name: Post-run cleanup
235+
if: success()
236+
run: |
237+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
238+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
239+
226240
# WASM build
227241
wasm-build:
228242
name: WASM Build
@@ -264,6 +278,13 @@ jobs:
264278
path: crates/terraphim_automata/wasm-test/pkg/
265279
retention-days: ${{ needs.setup.outputs.is-release == 'true' && '90' || '30' }}
266280

281+
- name: Post-run cleanup
282+
if: success()
283+
run: |
284+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
285+
sudo rm -rf "${WORKDIR}/target" || true
286+
sudo rm -rf "${WORKDIR}/crates/terraphim_automata/wasm-test/pkg" || true
287+
267288
# Docker image build
268289
docker-build:
269290
name: Docker Build
@@ -323,6 +344,13 @@ jobs:
323344
cache-to: type=gha,mode=max
324345
platforms: linux/amd64
325346

347+
- name: Post-run cleanup
348+
if: success()
349+
run: |
350+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
351+
sudo rm -rf "${WORKDIR}/target" || true
352+
sudo rm -rf "${WORKDIR}/desktop/dist" || true
353+
326354
# Integration tests
327355
integration-tests:
328356
name: Integration Tests
@@ -374,6 +402,13 @@ jobs:
374402
# Clean up
375403
kill $SERVER_PID 2>/dev/null || true
376404
405+
- name: Post-run cleanup
406+
if: success()
407+
run: |
408+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
409+
sudo rm -rf "${WORKDIR}/target" || true
410+
sudo rm -rf "${WORKDIR}/desktop/dist" || true
411+
377412
# Security scanning
378413
security-scan:
379414
name: Security Scan
@@ -401,6 +436,12 @@ jobs:
401436
cargo install cargo-deny
402437
cargo deny check
403438
439+
- name: Post-run cleanup
440+
if: success()
441+
run: |
442+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
443+
sudo rm -rf "${WORKDIR}/target" || true
444+
404445
# Build summary
405446
build-summary:
406447
name: Build Summary

.github/workflows/ci-optimized-main.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,14 @@ jobs:
278278
path: target/${{ matrix.target }}/debian/*.deb
279279
retention-days: ${{ needs.setup.outputs.is-release == 'true' && '90' || '30' }}
280280

281+
- name: Post-run cleanup
282+
if: success()
283+
run: |
284+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
285+
sudo rm -rf "${WORKDIR}/target" || true
286+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
287+
sudo rm -rf "${WORKDIR}/terraphim_server/dist" || true
288+
281289
# Build Summary and Performance Report
282290
build-summary:
283291
name: CI Performance Summary
@@ -341,7 +349,13 @@ jobs:
341349
342350
# Final system cleanup
343351
docker system prune -f --volumes --filter "until=6h" || true
344-
docker buildx prune -f --keep-storage=5G --filter until=6h" || true
352+
docker buildx prune -f --keep-storage=5G --filter "until=6h" || true
353+
354+
# Workspace cleanup
355+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
356+
sudo rm -rf "${WORKDIR}/target" || true
357+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
358+
sudo rm -rf "${WORKDIR}/terraphim_server/dist" || true
345359
346360
# Report final system state
347361
FINAL_STORAGE=$(docker system df --format "{{.Size}}" | head -1)

.github/workflows/release.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,13 @@ jobs:
132132
cargo build --release --package terraphim_server
133133
./target/release/terraphim_server --version
134134
135+
- name: Post-run cleanup
136+
if: success()
137+
run: |
138+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
139+
sudo rm -rf "${WORKDIR}/target" || true
140+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
141+
135142
# Build release artifacts
136143
build:
137144
name: Build Release Artifacts
@@ -245,6 +252,14 @@ jobs:
245252
${{ matrix.asset_name }}.sha256
246253
retention-days: 90
247254

255+
- name: Post-run cleanup
256+
if: success()
257+
run: |
258+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
259+
sudo rm -rf "${WORKDIR}/target" || true
260+
sudo rm -rf "${WORKDIR}/desktop/dist" "${WORKDIR}/desktop/node_modules" || true
261+
sudo rm -rf "${WORKDIR}/release-artifacts" || true
262+
248263
# Build Docker images
249264
docker:
250265
name: Build Docker Images
@@ -292,6 +307,12 @@ jobs:
292307
cache-from: type=gha
293308
cache-to: type=gha,mode=max
294309

310+
- name: Post-run cleanup
311+
if: success()
312+
run: |
313+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
314+
sudo rm -rf "${WORKDIR}/target" || true
315+
295316
# Build and publish npm package
296317
npm-publish:
297318
name: Publish NPM Package
@@ -322,6 +343,13 @@ jobs:
322343
env:
323344
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
324345

346+
- name: Post-run cleanup
347+
if: success()
348+
run: |
349+
WORKDIR="${GITHUB_WORKSPACE:-$PWD}"
350+
sudo rm -rf "${WORKDIR}/target" || true
351+
sudo rm -rf "${WORKDIR}/crates/terraphim_automata/wasm-test/pkg" || true
352+
325353
# Create GitHub release
326354
create-release:
327355
name: Create GitHub Release

0 commit comments

Comments
 (0)