-
Notifications
You must be signed in to change notification settings - Fork 5.5k
43 lines (35 loc) · 1.06 KB
/
hetzner-e2e-reaper.yml
File metadata and controls
43 lines (35 loc) · 1.06 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
name: Hetzner E2E Reaper
# Belt-and-suspenders cleanup. Runs every 30 minutes and deletes any
# `ci=true,workflow=hetzner-e2e` servers older than 60 minutes — in
# case a crashed workflow leaks one. Gracefully no-ops when
# HCLOUD_TOKEN_CI isn't set so it doesn't spam-fail before secrets
# are configured.
on:
schedule:
- cron: '*/30 * * * *'
workflow_dispatch:
concurrency:
group: hetzner-e2e-reaper
cancel-in-progress: false
# Default to least privilege. Override per-job where needed.
permissions:
contents: read
jobs:
reap:
name: Sweep stale CI servers
runs-on: ubuntu-latest
environment: ci-hetzner-e2e
timeout-minutes: 10
env:
HCLOUD_TOKEN_CI: ${{ secrets.HCLOUD_TOKEN_CI }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.13
- name: Install dependencies
run: bun install --ignore-scripts
- name: Reap
run: bun run packages/scripts/cloud/admin/hetzner-e2e/hetzner-e2e-reaper.ts