Skip to content

Fix README release workflow badge so it shows the actual workflow status #258

@nicobistolfi

Description

@nicobistolfi

Summary

The README release workflow badge currently renders no status because it points Shields at release.yml with branch=main, but the release workflow only runs on version-tag pushes. The badge should be updated so it reports the actual release workflow status instead of an empty branch-scoped result.

Problem

  • The release workflow badge in README.md shows no status instead of the workflow state.
  • That makes the top-level project documentation look broken and hides whether the release pipeline is healthy.
  • The current badge configuration is misleading because it suggests there is no workflow result when the real issue is that the badge is filtered to the wrong ref scope.

Context

  • Repository: aliengiraffe/vigilante
  • In README.md, the badge currently uses:
[![Release Workflow](https://img.shields.io/github/actions/workflow/status/aliengiraffe/vigilante/release.yml?branch=main&label=release)](https://github.com/aliengiraffe/vigilante/actions/workflows/release.yml)
  • In .github/workflows/release.yml, the workflow is triggered by tag pushes only:
on:
  push:
    tags:
      - 'v*.*.*'
  • Because the workflow does not run on the main branch, the branch=main badge query produces release: no status.
  • Verifying the badge URL currently returns an SVG with aria-label="release: no status".
  • Removing the branch=main filter makes Shields report an actual workflow state for the tag-triggered release workflow.

Desired Outcome

  • The README release workflow badge shows the real status of the release workflow instead of no status.
  • The badge configuration matches how the release workflow is actually triggered.
  • Non-goals:
  • changing the release workflow trigger model
  • redesigning the badge section in the README beyond what is needed to make the release badge accurate

Implementation Notes

  • Treat this as a bug in README badge configuration.
  • Required behavior:
  • update the release workflow badge URL so it is not filtered to branch=main for a tag-only workflow
  • ensure the rendered badge reports a real workflow state such as passing or failing
  • keep the badge target pointing at the release workflow page unless there is a strong reason to change it
  • Plausible fix:
  • remove the branch=main query parameter from the Shields URL
  • optionally use an explicit event filter only if needed, as long as the badge still resolves correctly for the tag-triggered workflow
  • Required constraint:
  • the final badge configuration must work with a workflow that only runs on version-tag pushes
  • Flexible detail:
  • whether the final URL is the shortest working Shields form or includes an explicit event=push parameter for clarity

Acceptance Criteria

  • The release workflow badge in README.md no longer renders no status.
  • The badge configuration is compatible with .github/workflows/release.yml being triggered only by tag pushes.
  • Visiting the resolved badge URL returns a rendered status such as passing or failing instead of no status.
  • The badge link still points users to the repository's release workflow page.

Testing Expectations

  • Update README.md and manually verify the badge URL renders a workflow state instead of no status.
  • Confirm the chosen badge URL remains valid against the current release.yml trigger configuration.
  • Add regression awareness in review notes or docs if needed so future workflow trigger changes also consider badge query parameters.

Operational / UX Considerations

  • This is a documentation-facing bug, but it directly affects confidence in the release pipeline because the badge is one of the first status signals users see.
  • Prefer a badge URL that stays correct if the release workflow remains tag-triggered long term.
  • If the team later changes the release workflow to branch-based triggers, the badge should be revisited so the filter still matches the workflow's actual trigger model.

Metadata

Metadata

Assignees

Labels

vigilante:doneVigilante completed its work on the issue and no further automation is expected.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions