Skip to content

fix #126 - feat: Implement release and changelog process#154

Open
fantonangeli wants to merge 12 commits into
serverlessworkflow:mainfrom
fantonangeli:issue-126-feat-Implement-release-and-changelog-process
Open

fix #126 - feat: Implement release and changelog process#154
fantonangeli wants to merge 12 commits into
serverlessworkflow:mainfrom
fantonangeli:issue-126-feat-Implement-release-and-changelog-process

Conversation

@fantonangeli
Copy link
Copy Markdown
Member

@fantonangeli fantonangeli commented May 21, 2026

Closes #126
Closes #100

Description

This PR introduces an automated release process based on Changesets:

  1. Run the prepare-release.yaml workflow from the branch that should be released.
  2. Review the generated chore: version packages PR.
  3. Merge the release PR to trigger publishing.
  4. On merge, the publish workflow runs automatically and publishes the new release to GitHub and npm.

Note:

This PR introduces the use of the pnpm changeset command for contributions, required to generate releases and changelogs (see CONTRIBUTING.md).

Definition of Done

  • Implementation: Fully implemented according to the Serverless Workflow spec.
  • Unit Tests: Comprehensive unit tests are included and passing.
  • Integration Tests: Verified within the monorepo and target environments (Web/VS Code).
  • Documentation: Updated README.md, ADRs, or official docs.
  • Performance: No significant regression in editor responsiveness.
  • Accessibility: UI changes comply with accessibility standards.

Preview:

I tested this workflow on my fork:

for current release on main branch:

for maintenance release on 0.3.x branch:

Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
…ement-release-and-changelog-process

Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
realease commit

Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Copilot AI review requested due to automatic review settings May 21, 2026 15:48
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

Note

Copilot was unable to run its full agentic suite in this review.

Introduces Changesets-based release automation and standardizes CI setup for a pnpm workspace, along with documentation updates for the new release process.

Changes:

  • Add Changesets tooling/config and a first changeset entry to enable versioning and changelogs.
  • Add “Prepare” and “Publish” GitHub workflows and a shared composite action for Node/pnpm setup.
  • Adjust dependency/version consistency checks via Syncpack configuration.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Adds Changesets packages to the pnpm catalog and updates syncpack version.
package.json Adds a changeset script and adds Changesets devDependencies via catalog.
RELEASE_PROCESS.md Documents the new release workflows and branching model.
CONTRIBUTING.md Adds contributor guidance to include changesets in PRs affecting packages.
.syncpackrc.json Updates schema reference and adds version group rules for package version consistency.
.github/workflows/publish-release.yaml Adds a workflow to publish on merge of a Changesets-generated release PR.
.github/workflows/prepare-release.yaml Adds a workflow to generate a release PR via Changesets.
.github/workflows/ci_check_license_headers.yaml Replaces inline Node/pnpm setup with shared setup-ci action.
.github/workflows/ci_build.yaml Replaces inline Node/pnpm setup with shared setup-ci action and updates dependency check naming.
.github/actions/setup-ci/action.yml Adds a composite action to centralize Node/pnpm setup in CI.
.changeset/setup-changeset.md Adds an initial changeset defining minor bumps.
.changeset/config.json Adds Changesets configuration (GitHub changelog, fixed package group, etc.).
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread RELEASE_PROCESS.md Outdated
Comment thread CONTRIBUTING.md
Comment thread .github/actions/setup-ci/action.yml
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
@fantonangeli fantonangeli added the github_actions Pull requests that update GitHub Actions code label May 21, 2026
Comment thread .syncpackrc.json
Copy link
Copy Markdown
Member Author

@fantonangeli fantonangeli May 21, 2026

Choose a reason for hiding this comment

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

I changed the rules to verify all the packages are with the same version and not just 0.0.0 like before.
This has been introduced this week in the last syncpack version (see JamieMason/syncpack#325 (comment)), many thanks @JamieMason for the update.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I created this composite action to avoid repetition between actions and make it easier to maintain

…ement-release-and-changelog-process

Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Copilot AI review requested due to automatic review settings May 22, 2026 07:13
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

Copilot reviewed 12 out of 13 changed files in this pull request and generated 7 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread CONTRIBUTING.md
Comment thread RELEASE_PROCESS.md
Comment thread .syncpackrc.json
Comment thread .syncpackrc.json
Comment thread .syncpackrc.json
Comment thread .github/actions/setup-ci/action.yml
Comment thread .github/workflows/publish-release.yaml
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Comment thread .syncpackrc.json Outdated
Signed-off-by: fantonangeli <fabrizio.antonangeli@gmail.com>
Copilot AI review requested due to automatic review settings May 22, 2026 08:58
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

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

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread .github/workflows/prepare-release.yaml
Comment thread .github/workflows/publish-release.yaml
Comment thread .github/workflows/publish-release.yaml
Comment thread .github/actions/setup-ci/action.yml
Comment thread .syncpackrc.json
Comment thread .github/workflows/ci_build.yaml
Copy link
Copy Markdown
Contributor

@kumaradityaraj kumaradityaraj left a comment

Choose a reason for hiding this comment

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

LGTM

@ricardozanini
Copy link
Copy Markdown
Member

@fantonangeli there are a few conflicts, I think we can merge after you fix them.

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

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Implement release and changelog process feat: Configure CI for npm package publishing

6 participants