Skip to content

feat(summary): pushed/reason/repositories fields + summary step output#9

Merged
blairham merged 1 commit into
mainfrom
feat/summary-pushed-reason
Jul 5, 2026
Merged

feat(summary): pushed/reason/repositories fields + summary step output#9
blairham merged 1 commit into
mainfrom
feat/summary-pushed-reason

Conversation

@blairham

@blairham blairham commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Closes #6.

Motivation: pinpredict/.github#39docker-release.yml (now stevedore-backed) must call notify-dispatch once per pushed image; the workflow needs a machine-readable record of what the release actually did.

  • summary.Image gains repositories (bare repos), pushed (false under --no-push — the filter consumers key off), and reason (populated for both built and skipped images from change detection).
  • Job-summary table shows real skip reasons.
  • emitSummary writes the compact JSON as a summary step output when $GITHUB_OUTPUT is set; action.yml republishes it as the summary output. Works regardless of a custom dist path, no stdout parsing.
  • Tests: markdown skip-reason fallback, GITHUB_OUTPUT round-trip (single line, fields survive), no-op outside Actions. make check green; actionlint clean.

Group members each keep their own entry (own version/repos/reason) even when built once, per the issue.

🤖 Generated with Claude Code

Closes #6. CI consuming a release needs a structured record of what was
actually published — pinpredict's docker-release.yml must notify its
deploy correlator once per pushed image, and with stevedore deciding
what builds, the workflow is otherwise blind.

- summary.Image gains `repositories` (bare repos, no tag), `pushed`
  (false under --no-push validation builds — consumers filter on it),
  and `reason` (why it built, or why it was skipped).
- The skipped rows of the job-summary table show the real skip reason
  instead of hardcoded "unchanged".
- Under GitHub Actions, emitSummary also writes the compact JSON as a
  `summary` step output ($GITHUB_OUTPUT), republished by the composite
  action — no dist-path knowledge or jq parsing needed in workflows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@blairham
blairham merged commit 31cdaea into main Jul 5, 2026
2 checks passed
blairham added a commit to pinpredict/.github that referenced this pull request Jul 5, 2026
…dore summary (#41)

* feat(docker-release): notify Dispatch per pushed image from the release summary

Closes the one behavior gap vs the matrix implementation. stevedore
v0.0.6 (blairham/stevedore#9) emits the release summary as a `summary`
step output; a jq step filters it to pushed images (no-push validation
builds and skipped images notify nothing) and hands the batch to
notify-dispatch, which gains a `batch` JSON-array mode alongside the
existing single-artifact inputs. With parity restored, `no-push` now
defaults false.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(docker-release): only input for explicit image selection

Maps to stevedore release --only <csv>, bypassing change detection for
the selected ids. Lets callers keep their workflow_dispatch service
pickers (e.g. trading's services: input) across the migration.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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.

feat: machine-readable release summary of pushed images

1 participant