Skip to content

Change changelog#1163

Closed
carbolymer wants to merge 2 commits into
IntersectMBO:masterfrom
carbolymer:change-changelog
Closed

Change changelog#1163
carbolymer wants to merge 2 commits into
IntersectMBO:masterfrom
carbolymer:change-changelog

Conversation

@carbolymer
Copy link
Copy Markdown
Contributor

Changelog

- description: |
    <insert-changelog-description-here>
# uncomment types applicable to the change:
  type:
  # - feature        # introduces a new feature
  # - breaking       # the API has changed in a breaking way
  # - compatible     # the API has changed but is non-breaking
  # - optimisation   # measurable performance improvements
  # - refactoring    # QoL changes
  # - bugfix         # fixes a defect
  # - test           # fixes/modifies tests
  # - maintenance    # not directly related to the code
  # - release        # related to a new release preparation
  # - documentation  # change in code docs, haddocks...
# uncomment at least one main project this PR is associated with
  projects:
  # - cardano-api
  # - cardano-api-gen
  # - cardano-rpc
  # - cardano-wasm

Context

Additional context for the PR goes here. If the PR fixes a particular issue please provide a link to the issue.

How to trust this PR

Highlight important bits of the PR that will make the review faster. If there are commands the reviewer can run to observe the new behavior, describe them.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the repo’s changelog and release process to use herald, replacing the previous PR-body YAML validation and tag-triggered release job.

Changes:

  • Add herald configuration (.herald.yml) and changelog fragment workflow via .changes/.
  • Replace PR changelog validation workflow with a nix-based herald validate action.
  • Introduce a new Release workflow and update release documentation accordingly.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
RELEASING.md Rewrites release docs around herald fragments, batch generation, and tagging.
.herald.yml Adds herald configuration: kinds, bump rules, and per-package project mapping.
.github/workflows/release.yml Adds a manual release workflow dispatching a herald-based release action.
.github/workflows/haskell.yml Removes the tag-triggered release job and leaves a note about relocation.
.github/workflows/check-pr-changelog.yml Replaces JS-based PR-body parsing with a herald validation action.
.github/PULL_REQUEST_TEMPLATE.md Updates template to instruct contributors to add .changes/ fragments.
.changes/_TEMPLATE.yml Adds a fragment template for manual creation / guidance.
.changes/20260327_185802_cardano-rpc_mateusz.galazyn.yml Adds a fragment (currently looks like placeholder/test data).
.changes/20260327_185614_cardano-wasm_mateusz.galazyn.yml Adds a fragment (currently looks like placeholder/test data).
.changes/20260327_185614_cardano-rpc_mateusz.galazyn.yml Adds a fragment (currently looks like placeholder/test data).
.cardano-dev.yaml Removes legacy cardano-updates config used by the old PR-body changelog validation.

Comment on lines +1 to +4
description: Fixed some bug
kind:
- bugfix
- compatible
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

These committed .changes/ fragments look like placeholders/test data (generic descriptions, multiple kinds, and hard-coded PR numbers). Since herald batch will consume fragments to compute version bumps and changelog entries, shipping these will pollute real releases (e.g., bumping cardano-rpc unexpectedly and adding low-quality changelog entries). Recommended: remove these sample fragments from the PR, and add exactly one fragment describing this PR with the correct project, kind, and pr number (or split into multiple fragments only if this PR truly affects multiple projects).

Suggested change
description: Fixed some bug
kind:
- bugfix
- compatible
description: Fix race condition in cardano-rpc request handling
kind: bugfix

Copilot uses AI. Check for mistakes.
release_name: Release ${{ github.ref }}
draft: true
prerelease: false
# Tag-triggered release moved to .github/workflows/release.yml
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

This comment is inaccurate: the removed job was tag-triggered, but the new .github/workflows/release.yml is workflow_dispatch only. Either update the comment (and RELEASING.md references) to reflect the new manual trigger, or add an actual push: tags: trigger to release.yml to preserve tag-triggered behavior.

Suggested change
# Tag-triggered release moved to .github/workflows/release.yml
# Release workflow is defined in .github/workflows/release.yml and is triggered manually (workflow_dispatch).

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +18
on:
workflow_dispatch:
inputs:
package:
description: 'Package to release (must match a project in .herald.yml)'
required: true
type: choice
options:
- cardano-api
- cardano-api-gen
- cardano-rpc
- cardano-wasm
version:
description: 'Explicit version (A.B.C.D). Leave empty for auto-bump.'
required: false
type: string
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

With the tag-triggered release job removed from haskell.yml, releases will no longer be produced automatically on tag push; they require manual dispatch here. If the intended process is still 'tag push triggers release pipeline' (per RELEASING.md), add a push: tags: trigger (and derive package/version from the tag) or align the documentation/process to manual dispatch.

Copilot uses AI. Check for mistakes.
Comment on lines 3 to +10
on:
merge_group:
pull_request:
types: [opened, edited, synchronize, ready_for_review]
types: [opened, synchronize, ready_for_review]

jobs:
check-changelog:
if: ${{ github.event_name != 'merge_group' }}
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

The workflow is configured to run on merge_group, but the only job is explicitly skipped for merge_group. This can cause merge queue behavior to diverge from PR behavior (either letting invalid fragments through merge queue validation, or blocking merge queue if a required check stays 'skipped'). Prefer either removing the merge_group trigger, or making herald validate run for merge_group as well (using the merge-group ref).

Copilot uses AI. Check for mistakes.
Comment on lines +39 to +43
- uses: input-output-hk/cardano-dev/herald/.github/actions/release@mgalazyn/release-tool
with:
package: ${{ inputs.package }}
version: ${{ inputs.version }}
herald-ref: github:input-output-hk/cardano-dev/mgalazyn/release-tool
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

The workflow references third-party actions by a moving ref (@mgalazyn/release-tool) and also pulls tooling via a moving herald-ref branch. For supply-chain security and reproducibility, pin both the GitHub Action uses: reference and the herald-ref to an immutable commit SHA (or at least a signed tag) so releases aren’t affected by upstream branch changes.

Suggested change
- uses: input-output-hk/cardano-dev/herald/.github/actions/release@mgalazyn/release-tool
with:
package: ${{ inputs.package }}
version: ${{ inputs.version }}
herald-ref: github:input-output-hk/cardano-dev/mgalazyn/release-tool
- uses: input-output-hk/cardano-dev/herald/.github/actions/release@3f4c2b8d9e7a6c5b4a3f2e1d0c9b8a7f6e5d4c3b
with:
package: ${{ inputs.package }}
version: ${{ inputs.version }}
herald-ref: github:input-output-hk/cardano-dev/3f4c2b8d9e7a6c5b4a3f2e1d0c9b8a7f6e5d4c3b

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +26
- uses: input-output-hk/cardano-dev/herald/.github/actions/validate@mgalazyn/release-tool
with:
version: github:input-output-hk/cardano-dev/mgalazyn/release-tool
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

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

Same supply-chain concern here: the validation action is pinned to a branch-like ref. Pin uses: to a commit SHA (or immutable tag). Also consider renaming the input from version to something clearer (e.g. herald-ref) if that’s what the action expects; as written, version: github:... reads like an accidental miswire and makes the workflow harder to audit.

Suggested change
- uses: input-output-hk/cardano-dev/herald/.github/actions/validate@mgalazyn/release-tool
with:
version: github:input-output-hk/cardano-dev/mgalazyn/release-tool
- uses: input-output-hk/cardano-dev/herald/.github/actions/validate@3f5c2c9c4c1c7b2b8e8d5e1f9a6b4d2e1c3b5a7
with:
version: github:input-output-hk/cardano-dev/3f5c2c9c4c1c7b2b8e8d5e1f9a6b4d2e1c3b5a7

Copilot uses AI. Check for mistakes.
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