Skip to content

Run e2e on every master push and mark run types in the graph - #345

Draft
htilly wants to merge 1 commit into
masterfrom
claude/e2e-test-debug-command-1mh7db
Draft

htilly wants to merge 1 commit into
masterfrom
claude/e2e-test-debug-command-1mh7db

Conversation

@htilly

@htilly htilly commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Summary

Workflow (.github/workflows/e2e.yml)

  • New trigger: push to master. Pushes that only touch **.md, docs/** or data/e2e-history.json are ignored, so the history commits the workflow makes never re-trigger it. (Those are pushed with GITHUB_TOKEN, which doesn't start workflows anyway.)
  • The e2e job now checks out github.sha (the exact commit under test) for pushes and manual runs. Releases still check out the tag.
  • Graph label: the release tag for releases, the branch name for manual runs, and empty for master pushes, which makes the graph show the short commit SHA. History commits for master runs are titled master@<sha7>.
  • The concurrency group is unchanged: one speaker, runs queue, and GitHub keeps only the newest pending run.

Admin page graph

  • Run type is shown by marker shape: releases are diamonds with a dashed vertical guide and a bold tag label, master builds are dots, manual runs are squares. Failed or aborted runs stay red for every type.
  • A legend lists the run types that are present.
  • New Runs filter: All / Releases / Master builds / Manual.
  • X-axis labels prefer release tags, then the newest run, then evenly spaced runs, and skip any label that would collide.
  • Master-build dots shrink when the chart is crowded. Failed runs never shrink.
  • The per-command table compares against the previous run within the current filter.

Docs

  • test/INTEGRATION_TESTING.md updated: triggers, run-type markers, and the security note.

Testing

  • npm test: 852 passing.
  • Rendered the admin section in headless Chromium with 34 mixed mock runs (master/release/manual, one failed) at desktop and phone width. Checked the markers, legend, release guides, labels and the Releases filter.
  • e2e.yml parses as valid YAML. The workflow itself needs the self-hosted runner and hasn't been run from here.

馃 Generated with Claude Code

https://claude.ai/code/session_01Bt4ieUgNM3WhV5rSqmByQ4


Generated by Claude Code

The e2e workflow now also runs on every push to master (skipping docs-only
changes and its own history commits) and checks out the exact commit under
test. Master builds are labelled with the short SHA.

The admin page graph marks run types by marker shape - releases as
diamonds with a dashed guide and bold tag label, master builds as dots,
manual runs as squares - with a legend and a Runs filter. Failed runs
stay red whatever their type. The per-command table compares against the
previous run in the current filter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bt4ieUgNM3WhV5rSqmByQ4

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants