Skip to content

INTER-1995: Migrate from semantic-release to changesets - #84

Merged
ilfa merged 2 commits into
mainfrom
ci/changesets
Apr 27, 2026
Merged

INTER-1995: Migrate from semantic-release to changesets#84
ilfa merged 2 commits into
mainfrom
ci/changesets

Conversation

@erayaydin

@erayaydin erayaydin commented Apr 24, 2026

Copy link
Copy Markdown
Member

Summary

  • Replaces semantic-release with @changesets/cli for versioning and release management.
  • Updates the release workflow to use release-sdk-changesets (⚠️ triggered on push to main instead of manual dispatch).
  • Adds changeset preview job to the analyze-commits workflow for PR release previews.
  • Changes terraform output paths from dist/terraform/json/ to dist/terraform/ with terraform- prefix
  • Marks the package as private to prevent npmjs publish.
  • Reformats CHANGELOG.md to changesets format.

Out of Scope Changes

  • Refactor build.ts path handling.
  • Updates pnpm lock file version from 6.0 to 9.0.

Replace `semantic-release` with `@changesets/cli` for version and
release management

- Switch release workflow to `release-sdk-changesets`.
- Add changeset preview job to analyze-commits workflow.
- Remove unnecessary `.releaserc.json` file.
- Reformat `CHANGELOG.md` to changesets format.
- Update terraform output paths (`dist/terraform/terraform-*.json`).
- Update `README.md` to reflect new artifact filenames.
- Mark package as private to prevent npmjs publish.
- Refactor `build.ts` path management.

Related-Task: INTER-1995
Orkuncakilkaya
Orkuncakilkaya previously approved these changes Apr 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the repository’s release/versioning automation from semantic-release to changesets, updating CI workflows and generated artifact naming to match the new release process.

Changes:

  • Replace semantic-release configuration with @changesets/cli + .changeset/config.json and update CHANGELOG.md to Changesets format.
  • Update GitHub Actions workflows to run Changesets-based release on pushes to main, and add a PR changeset preview job.
  • Change Terraform artifact output locations/names (move out of dist/terraform/json/, add terraform- prefix) and update docs accordingly.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Marks package as private; adds Changesets tooling dependencies.
build.ts Updates dist output paths and renames Terraform JSON artifacts with terraform- prefix.
README.md Updates installation/build documentation to reference new Terraform artifact names/paths.
CONTRIBUTING.md Updates contributor guidance to reflect Changesets-based release notes process.
CHANGELOG.md Reformats changelog entries into Changesets-style sections.
.releaserc.json Removes Semantic Release configuration.
.github/workflows/release.yml Switches release workflow to Changesets-based reusable workflow, triggered on push to main.
.github/workflows/analyze-commits.yml Adds Changesets preview job for PRs and skips changeset-release branches.
.changeset/config.json Adds Changesets configuration (custom changelog format, restricted access, private package tagging).

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

Comment thread .github/workflows/release.yml Outdated
version-command: pnpm exec changeset version
publish-command: pnpm exec changeset publish
language: node
language-version: 24

Copilot AI Apr 27, 2026

Copy link

Choose a reason for hiding this comment

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

release.yml pins language-version: 24, but the repository standard is to use .node-version (currently 18) via actions/setup-node in other workflows. This mismatch can cause release builds to behave differently (or fail) compared to CI/local. Consider aligning the release workflow to .node-version (or updating .node-version + CI workflows if Node 24 is now required).

Suggested change
language-version: 24
language-version: 18

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe fix the other way by switching to 24 ?

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.

Upgrading the Node version for the project itself would be a different task. I think we should handle the Node version upgrade in a separate changeset. For now, I'll make sure the release workflow uses 18 (to make it similar to the developer setup)

Comment thread README.md
@@ -67,8 +67,8 @@ This is a quick overview of the installation setup. For detailed step-by-step in
```

3. Go to this repository [latest releases](https://github.com/fingerprintjs/fingerprint-pro-akamai-integration-property-rules/releases/latest) and download these two JSON files:

@JuroUhlar JuroUhlar Apr 27, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Old repo name needs updating? Fix everywhere pls

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.

Thanks for pointing that out. The repo name will be akamai-property-proxy, but this will be handled in a separate PR after the upcoming changes are merged. It's out of scope for this PR. I'll make sure this is fixed in the PR for the repo name change

Comment thread pnpm-lock.yaml
@@ -1,104 +1,2057 @@
lockfileVersion: '6.0'
lockfileVersion: '9.0'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is it not an issue that CI workflows still pin pnpn to version 8?

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 think this is caused by developers using different pnpm versions rather than CI (assuming the lock file doesn't change in the release workflow). There's a separate task for this issue, and it will be handled in a separate PR. We can optionally remove it from the current changes

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ This PR doesn't contain any changesets. If there are user-facing changes, don't forget to run:

pnpm exec changeset

to create a changeset.

@JuroUhlar JuroUhlar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's move this forward but make sure to fix the issues in follo-up PRs

@ilfa
ilfa merged commit c8b4507 into main Apr 27, 2026
8 of 10 checks passed
@ilfa
ilfa deleted the ci/changesets branch April 27, 2026 15:46
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.

5 participants