Change no changelog#1162
Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates the repository’s changelog/release workflow from PR-description YAML to herald-managed changelog fragments, updating CI, templates, and release documentation accordingly, and adds a new pretty-printing helper export.
Changes:
- Add
heraldconfiguration (.herald.yml) plus.changes/fragment templates/examples and update the PR template to require fragments. - Replace the PR changelog-check workflow with a
herald-based validator and add a dedicated manualReleaseworkflow; remove the old tag-triggered release job fromhaskell.yml. - Update
RELEASING.mdto document the new fragment-based process andherald batchworkflow.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| cardano-api/src/Cardano/Api/Pretty.hs | Exports a new pshow2 helper (currently identical to pshow). |
| RELEASING.md | Rewrites release instructions around herald fragments/batch. |
| .herald.yml | Adds repository-wide herald configuration (kinds + projects). |
| .github/workflows/release.yml | Introduces a manual release workflow using the herald release action. |
| .github/workflows/haskell.yml | Removes the old tag-triggered release job (now moved elsewhere). |
| .github/workflows/check-pr-changelog.yml | Replaces Node-based PR-body parsing with herald validation action. |
| .github/PULL_REQUEST_TEMPLATE.md | Updates template to instruct adding .changes/ fragments. |
| .changes/_TEMPLATE.yml | Adds a fragment template file for manual copying. |
| .changes/20260327_185802_cardano-rpc_mateusz.galazyn.yml | Adds an example fragment for cardano-rpc (currently placeholder PR number). |
| .changes/20260327_185614_cardano-wasm_mateusz.galazyn.yml | Adds an example fragment for cardano-wasm (currently placeholder PR number). |
| .changes/20260327_185614_cardano-rpc_mateusz.galazyn.yml | Adds an example fragment for cardano-rpc (currently placeholder PR number). |
| .cardano-dev.yaml | Removes the legacy changelog config used by the old PR-description validator. |
| - uses: input-output-hk/cardano-dev/herald/.github/actions/validate@mgalazyn/release-tool | ||
| with: | ||
| version: github:input-output-hk/cardano-dev/mgalazyn/release-tool |
There was a problem hiding this comment.
This uses an external action pinned to a moving branch (@mgalazyn/release-tool). Pin to a tag or commit SHA to avoid supply-chain risk and make CI reproducible.
| - 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@3b2f9c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 | |
| with: | |
| version: github:input-output-hk/cardano-dev/mgalazyn/release-tool?ref=3b2f9c4d5e6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 |
| kind: | ||
| - bugfix | ||
| - compatible | ||
| pr: 1235 |
There was a problem hiding this comment.
The changelog fragment has a placeholder PR number (pr: 1235). Herald validation (per the updated process) expects fragment pr to match the current PR number; please update it accordingly (and keep it consistent across all fragments in this PR).
| pr: 1235 | |
| pr: 9999 |
| description: unimportant refactoring | ||
| kind: | ||
| - refactoring | ||
| pr: 1234 |
There was a problem hiding this comment.
The changelog fragment has a placeholder PR number (pr: 1234). Herald validation expects fragment pr to match the current PR number; please update it accordingly (and keep it consistent across all fragments in this PR).
| pr: 1234 | |
| pr: 5678 |
| description: unimportant refactoring | ||
| kind: | ||
| - refactoring | ||
| pr: 1234 |
There was a problem hiding this comment.
The changelog fragment has a placeholder PR number (pr: 1234). Herald validation expects fragment pr to match the current PR number; please update it accordingly (and keep it consistent across all fragments in this PR).
| pr: 1234 | |
| pr: 5678 |
| > | ||
| >CHaP CI build can fail due to various reasons, like invalid haddock syntax. | ||
| >Tagging and merging the release PR after CHaP PR allows to accommodate for potential issues which can arise here. | ||
| After the package is released, check the version at https://chap.intersectmbo.org/all-package-versions/ and update dependant packages. Don't forget to bump the CHaP index in `cabal.project` and `flake.lock` too. See [CONTRIBUTING.md](https://github.com/IntersectMBO/cardano-cli/blob/master/CONTRIBUTING.md#updating-dependencies). |
There was a problem hiding this comment.
“dependant packages” should be “dependent packages”.
| After the package is released, check the version at https://chap.intersectmbo.org/all-package-versions/ and update dependant packages. Don't forget to bump the CHaP index in `cabal.project` and `flake.lock` too. See [CONTRIBUTING.md](https://github.com/IntersectMBO/cardano-cli/blob/master/CONTRIBUTING.md#updating-dependencies). | |
| After the package is released, check the version at https://chap.intersectmbo.org/all-package-versions/ and update dependent packages. Don't forget to bump the CHaP index in `cabal.project` and `flake.lock` too. See [CONTRIBUTING.md](https://github.com/IntersectMBO/cardano-cli/blob/master/CONTRIBUTING.md#updating-dependencies). |
| kind: | ||
| - refactoring | ||
| pr: 1234 | ||
| project: cardano-rpc |
There was a problem hiding this comment.
This PR changes files under cardano-api/, but there is no .changes/ fragment for project: cardano-api (only cardano-rpc / cardano-wasm). Per the new herald rules, each modified project needs at least one fragment, so add a cardano-api fragment (or adjust projects if the intent is different) to avoid CI validation failures.
| project: cardano-rpc | |
| project: cardano-api |
| -- | Short hand for 'viaShow'. | ||
| pshow2 :: Show a => a -> Doc ann |
There was a problem hiding this comment.
In the Haddock, “Short hand” should be “Shorthand”.
| package: ${{ inputs.package }} | ||
| version: ${{ inputs.version }} |
There was a problem hiding this comment.
${{ inputs.package }} / ${{ inputs.version }} won’t resolve in a normal workflow_dispatch workflow; use the github.event.inputs.* context instead so the selected inputs are passed to the release action.
| package: ${{ inputs.package }} | |
| version: ${{ inputs.version }} | |
| package: ${{ github.event.inputs.package }} | |
| version: ${{ github.event.inputs.version }} |
| - 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 |
There was a problem hiding this comment.
The workflow uses an external action and a herald-ref that point at a moving branch (@mgalazyn/release-tool). For supply-chain safety and reproducibility, pin these to an immutable tag or commit SHA (and keep herald-ref consistent with that pin).
| - 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@6d5f6e845214071c5b66f0cc8b015f0f8baf0da3 | |
| with: | |
| package: ${{ inputs.package }} | |
| version: ${{ inputs.version }} | |
| herald-ref: github:input-output-hk/cardano-dev/6d5f6e845214071c5b66f0cc8b015f0f8baf0da3 |
| -- | Short hand for 'viaShow'. | ||
| pshow2 :: Show a => a -> Doc ann | ||
| pshow2 = viaShow |
There was a problem hiding this comment.
pshow2 is exported but is identical to the existing pshow (both are viaShow). The numeric suffix doesn’t communicate a semantic difference and adds unnecessary API surface; consider removing pshow2 or giving it a name that reflects distinct behavior.
Changelog
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