Skip to content

feat(pipeline): surface ungrouped workflow runs in a fallback bucket#1172

Merged
krusche merged 1 commit into
stagingfrom
feat/pipeline-ungrouped-fallback
Jul 3, 2026
Merged

feat(pipeline): surface ungrouped workflow runs in a fallback bucket#1172
krusche merged 1 commit into
stagingfrom
feat/pipeline-ungrouped-fallback

Conversation

@krusche

@krusche krusche commented Jul 3, 2026

Copy link
Copy Markdown
Member

Motivation

Production regression surfaced on Artemis: after its CI refactor into a single CI orchestrator (ci.yml) calling reusable workflows, the new CI run — which carries all tests — disappeared from the PR/branch pipeline, leaving only a couple of minor workflows visible. Test results and flakiness became inaccessible for users.

Root cause: the pipeline renders a workflow run only if its workflow is a member of a configured WorkflowGroup. Runs for any workflow not in a group were silently dropped. So any newly added or renamed workflow vanishes from the pipeline until someone manually adds it to a group — a silent failure mode that recurs on every CI restructuring.

Description

pipeline.component.ts — after mapping runs into their configured groups, collect runs whose workflowId is in no group and append them to a synthesized "Ungrouped" bucket (only when such runs exist). This keeps new/renamed workflows visible by default instead of silently disappearing.

  • Named "Ungrouped" (not "Other") to avoid colliding with a user-defined "Other" group — the template tracks groups by name.
  • Synthetic group id: -1; the template doesn't use group id in any link, so this is safe.
  • allGroupsHaveNoWorkflowRuns still behaves correctly (the fallback only appears when it has runs).

This is the durable counterpart to the one-off per-repo config fix (adding CI to a group + repointing test types) applied to the Artemis repo.

Testing Instructions

CI/unit change. Two vitest specs added to pipeline.component.spec.ts:

  • runs whose workflow is in no group appear under an "Ungrouped" group (grouped runs stay in their group);
  • no "Ungrouped" group is added when every run belongs to a group.

Verified locally: ng test --include='**/pipeline.component.spec.ts'5 passed; eslint clean.

Checklist

General

  • PR description explains the purpose and changes (Conventional Commits).
  • Changes have been tested locally.

Client

  • I documented the TypeScript code (inline rationale on the fallback).

The pipeline only rendered workflow runs whose workflow was a member of a
configured WorkflowGroup; runs for any other workflow were silently dropped.
When a repository adds or renames a workflow (e.g. Artemis's CI refactor that
introduced the single `CI` orchestrator), its runs disappeared from the PR and
branch pipelines until someone manually added the workflow to a group — which
also hid the associated test results.

Add a fallback: after mapping runs into their configured groups, collect any
runs whose workflow is in no group and surface them under a synthesized
"Ungrouped" bucket (only when such runs exist). New/renamed workflows are now
visible by default. Named "Ungrouped" (not "Other") to avoid colliding with a
user-defined "Other" group, since the template tracks groups by name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 3, 2026 08:04
@krusche krusche requested a review from a team as a code owner July 3, 2026 08:04
@codacy-production

codacy-production Bot commented Jul 3, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Coverage 100.00% diff coverage · +0.01% coverage variation

Metric Results
Coverage variation +0.01% coverage variation (-1.00%)
Diff coverage 100.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (0ffd59e) 15414 7579 49.17%
Head commit (558ebd5) 15418 (+4) 7583 (+4) 49.18% (+0.01%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#1172) 4 4 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the client pipeline UI to avoid silently dropping workflow runs whose workflows are not assigned to any configured workflow group, by surfacing such runs in a synthesized fallback group.

Changes:

  • Add an "Ungrouped" fallback bucket in PipelineComponent for runs whose workflowId is not present in any configured group.
  • Add Vitest coverage ensuring ungrouped runs appear under the fallback and that the fallback is omitted when all runs are grouped.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
client/src/app/components/pipeline/pipeline.component.ts Adds logic to collect and display ungrouped workflow runs in a synthetic "Ungrouped" group.
client/src/app/components/pipeline/pipeline.component.spec.ts Adds unit tests covering presence/absence of the "Ungrouped" fallback behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +117 to +120
groupedWorkflowsRuns.push({
name: 'Ungrouped',
id: -1,
workflows: ungroupedRuns,
@krusche krusche merged commit 690e5cb into staging Jul 3, 2026
25 of 28 checks passed
@krusche krusche deleted the feat/pipeline-ungrouped-fallback branch July 3, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants