Skip to content

chore: include playground in nx release pipeline#99

Merged
lukascivil merged 6 commits intomasterfrom
chore/migrate-to-continuous-development
Apr 24, 2026
Merged

chore: include playground in nx release pipeline#99
lukascivil merged 6 commits intomasterfrom
chore/migrate-to-continuous-development

Conversation

@lukascivil
Copy link
Copy Markdown
Owner

@lukascivil lukascivil commented Apr 24, 2026

Objective

Move the playground deployment out of the per-push cd.yml workflow and into the release pipeline, and make playground a first-class project in nx release so it is versioned, tagged, and changelogged alongside the publishable libraries. This ties the deployed playground to a released version of json-difference instead of whatever was last merged to master.

What was done

  • .github/workflows/cd.yml: removed the Build (playground) and Deploy Playground to Github Pages steps so the continuous workflow no longer deploys the playground.
  • .github/workflows/release-and-publish.yml: added the GitHub Pages deploy step, gated by github.event.inputs.dry_run != 'true', so the playground is only published when a real release runs. Updated the dry_run input description to reflect that it now also skips the playground deploy.
  • nx.json: added playground to release.projects so it participates in independent versioning/tagging/changelog with the other projects.
  • libs/json-difference/project.json: set generatePackageJson: false on both build and build-browser targets to stop @nx/vite:build from emitting an autogenerated package.json into the output.
  • libs/json-difference/vite.config.mts: replaced the nxViteTsPaths() plugin with the built-in resolve: { tsconfigPaths: true } option.
  • package.json / yarn.lock: bumped the playground's json-difference dependency from pinned 1.16.1 to ^1.16.2 so it tracks patch releases of the lib.
  • CLAUDE.md: updated the "Release flow" section to list playground as a released project and to note that it is private and therefore skipped by npm publish.

Test plan

  • Run yarn release:dry-run and confirm playground appears in the version plan alongside json-difference and json-difference-cli.
  • Trigger the release-and-publish workflow with dry_run: true and verify the GitHub Pages deploy step is skipped.
  • Trigger the release-and-publish workflow without dry run (or simulate) and verify apps/playground/dist is published to the chore/gh-pages branch.
  • Push a commit to master and confirm cd.yml no longer attempts to deploy the playground.
  • Run yarn nx build json-difference and confirm no package.json is emitted into libs/json-difference/dist.
  • Run yarn nx test json-difference and yarn nx run-many --target=type-check to confirm the vite config change did not break path resolution.

@lukascivil lukascivil self-assigned this Apr 24, 2026
@lukascivil lukascivil changed the title chore: mcafe chore: include playground in nx release pipeline Apr 24, 2026
@lukascivil lukascivil merged commit 47ded10 into master Apr 24, 2026
4 checks passed
@lukascivil lukascivil deleted the chore/migrate-to-continuous-development branch April 24, 2026 16:43
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.

1 participant