Skip to content
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
73dae0e
feat(ci): add the GARM E2E workflow and credential path (ISD-5876)
cbartz Aug 17, 2026
e35788a
Merge branch 'main' into feat/garm-e2e-skeleton-ISD-5876
cbartz Aug 20, 2026
09389ca
ci(garm-e2e): drop the pipx and jq runner assumptions
cbartz Aug 20, 2026
33e2f6f
docs(garm-e2e): correct the disk claim and the private-key description
cbartz Aug 20, 2026
ea48a71
ci(garm-e2e): make the egress check a real if-then-else
cbartz Aug 20, 2026
6732ad3
ci(garm-e2e): allow label-gated runs on a pull request
cbartz Aug 20, 2026
ec904f9
ci(garm-e2e): name the fields the Vault secret does hold
cbartz Aug 20, 2026
fdfb51d
ci(garm-e2e): read the Vault secret's own field names
cbartz Aug 20, 2026
42804a6
ci(garm-e2e): accept both Vault KV layouts
cbartz Aug 20, 2026
9567582
ci(garm-e2e): report a missing credential without describing the secret
cbartz Aug 20, 2026
c7a9b98
ci(garm-e2e): drop the temporary pull_request trigger
cbartz Aug 20, 2026
47427ac
ci(garm-e2e): mask the normalised Vault address, accept a wrapped key
cbartz Aug 20, 2026
1e81102
ci(garm-e2e): declare least-privilege permissions
cbartz Aug 20, 2026
ae5fe98
ci(garm-e2e): re-add the label trigger to verify the review fixes
cbartz Aug 20, 2026
7c91717
ci(garm-e2e): drop the label trigger again
cbartz Aug 20, 2026
2d579ec
ci(garm-e2e): make the runner probe assert what its name claims
cbartz Aug 21, 2026
8599069
ci(garm-e2e): narrow this PR to the dispatch target
cbartz Aug 21, 2026
5c7dbf1
ci(garm-e2e): keep the runner probe to what it needs to assert
cbartz Aug 21, 2026
f50500b
ci(garm-e2e): probe egress once
cbartz Aug 21, 2026
fbfa123
docs(garm-e2e): drop the internal spec reference
cbartz Aug 21, 2026
98d3486
ci(garm-e2e): raise the job timeout to 30 minutes
cbartz Aug 21, 2026
6c9d43b
Revert "ci(garm-e2e): raise the job timeout to 30 minutes"
cbartz Aug 21, 2026
fd91d48
Merge branch 'main' into feat/garm-e2e-skeleton-ISD-5876
cbartz Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/garm_e2e_test_run.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
#
# The job a GARM-spawned runner executes. Reaching it at all is most of the
# assertion: it only runs if a VM was booted from the published image and its
# runner registered and claimed the job. The steps cover what that does not —
# that the runner is usable for real work. Validating the image itself is the
# image build's concern, not this workflow's.

name: GARM E2E test run

on:
workflow_dispatch:
inputs:
runner-label:
description: "Self-hosted runner label to target"
required: true
type: string

permissions:
contents: read

jobs:
e2e-test:
name: GARM E2E test
# A single combined label, matching this repo's runner naming
# (e.g. self-hosted-linux-amd64-noble-medium) and how GitHub routes a job to a
# GARM scale set — by its name as one label.
runs-on: "${{ inputs.runner-label }}"
timeout-minutes: 10
steps:
- name: Report runner identity
run: |
echo "=== GARM E2E test run ==="
echo "Runner: $(hostname)"
echo "Kernel: $(uname -sr)"
echo "User: $(whoami)"
echo "Home: $HOME"
- name: Assert egress
run: |
curl -sSf --max-time 30 -o /dev/null https://github.com
echo "Egress reached github.com"
Loading