Skip to content

Sync workflow regenerates CHANGELOG.md with a policy that differs from the caller's changelog:check #226

Open

Description

@unbraind

Problem

The reusable pm-github-sync.yml regenerates CHANGELOG.md after importing issues. When the caller keeps the default post-import-script (changelog:full), the workflow appends --no-pending-release. The caller's own changelog:check (run by CI on the sync PR) uses the package's normal release policy, so the regenerated file has a different heading and every gated sync PR fails after its runtime tests pass.

Observed on 2026-11-07/08 in pm-http#8, pm-hypothesis#14, pm-review#70, pm-rlm#57 and pm-rl#130.

Current workaround (per caller)

The callers now set post-import-script: "changelog:automation", a package script that delegates to the unchanged changelog:full. The workflow injects the flag only for its default script name, so this sidesteps it:

Every other caller with the default script still hits the same failure.

Expected

A sync PR's regenerated changelog must pass the caller's own changelog:check without per-caller configuration. Either:

  • stop injecting --no-pending-release, and run the caller's script exactly as declared; or
  • regenerate with the same flags the caller's changelog:check uses.

Add a contract test in which a fixture caller's sync output passes its changelog:check before and after a release tag exists. Once the fix ships, the per-caller changelog:automation inputs can be removed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions