From deb05f85813e588b65705f9f2613220eb0708492 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 10 Jul 2026 16:39:43 +0300 Subject: [PATCH 1/2] fix(health): separate monitored runner identity --- .github/workflows/runner-health.yml | 8 ++++---- .../examples/20260710_runner-health-reserved-variable.md | 8 ++++++++ tests/test_runner_health_workflow.py | 9 +++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 memory/examples/20260710_runner-health-reserved-variable.md create mode 100644 tests/test_runner_health_workflow.py diff --git a/.github/workflows/runner-health.yml b/.github/workflows/runner-health.yml index 18f5f25..2ca3736 100644 --- a/.github/workflows/runner-health.yml +++ b/.github/workflows/runner-health.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 15 env: GH_TOKEN: ${{ secrets.RUNNER_PAT || github.token }} - RUNNER_NAME: MyLocalPC + MONITORED_RUNNER_NAME: CAS-Workstation-Kim EMAIL_TO: ${{ secrets.EMAIL_TO }} steps: - name: Check runner status @@ -24,7 +24,7 @@ jobs: run: | set -euo pipefail status="" - if ! status="$(gh api repos/${GITHUB_REPOSITORY}/actions/runners --jq ".runners[] | select(.name==\"${RUNNER_NAME}\") | .status")"; then + if ! status="$(gh api repos/${GITHUB_REPOSITORY}/actions/runners --jq ".runners[] | select(.name==\"${MONITORED_RUNNER_NAME}\") | .status")"; then status="unknown" fi if [ -z "${status}" ]; then @@ -36,7 +36,7 @@ jobs: if: steps.status.outputs.runner_status != 'online' run: | set -euo pipefail - title="Runner offline: ${RUNNER_NAME}" + title="Runner offline: ${MONITORED_RUNNER_NAME}" marker="Autopilot Runner Health" status="${{ steps.status.outputs.runner_status }}" gh label create runner-offline --color "B60205" --description "Runner offline alerts" --force --repo "${GITHUB_REPOSITORY}" || true @@ -44,7 +44,7 @@ jobs: body=$(cat < None: + workflow = Path(".github/workflows/runner-health.yml").read_text(encoding="utf-8") + + assert "MONITORED_RUNNER_NAME: CAS-Workstation-Kim" in workflow + assert "${MONITORED_RUNNER_NAME}" in workflow + assert "RUNNER_NAME: MyLocalPC" not in workflow From 9a729ad87c3605d69546e00a004c359b0f4179f1 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 10 Jul 2026 16:48:04 +0300 Subject: [PATCH 2/2] fix(health): align runner email alerts --- .github/workflows/runner-health.yml | 4 ++-- tests/test_runner_health_workflow.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/runner-health.yml b/.github/workflows/runner-health.yml index 2ca3736..cb9bbe3 100644 --- a/.github/workflows/runner-health.yml +++ b/.github/workflows/runner-health.yml @@ -76,9 +76,9 @@ jobs: server_port: ${{ env.SMTP_PORT }} username: ${{ env.SMTP_USERNAME }} password: ${{ env.SMTP_PASSWORD }} - subject: "Runner offline: MyLocalPC" + subject: "Runner offline: ${{ env.MONITORED_RUNNER_NAME }}" body: | - Runner: MyLocalPC + Runner: ${{ env.MONITORED_RUNNER_NAME }} Repo: ${{ github.repository }} Status: ${{ steps.status.outputs.runner_status }} to: ${{ env.EMAIL_TO }} diff --git a/tests/test_runner_health_workflow.py b/tests/test_runner_health_workflow.py index 53ecc23..ca1dd9f 100644 --- a/tests/test_runner_health_workflow.py +++ b/tests/test_runner_health_workflow.py @@ -7,3 +7,5 @@ def test_runner_health_uses_non_reserved_target_name() -> None: assert "MONITORED_RUNNER_NAME: CAS-Workstation-Kim" in workflow assert "${MONITORED_RUNNER_NAME}" in workflow assert "RUNNER_NAME: MyLocalPC" not in workflow + assert 'subject: "Runner offline: ${{ env.MONITORED_RUNNER_NAME }}"' in workflow + assert "Runner: ${{ env.MONITORED_RUNNER_NAME }}" in workflow