chore: publish pipeline for the toppynl fork (GitHub Packages) - #2
Merged
Merged
Conversation
Upstream is dormant, so fixes we carry have to be installable. Publish the five packages we actually consume to GitHub Packages under @toppynl, driven by the changesets setup that is already in the repo. The @toppynl rename is applied by scripts/toppynl-rescope.mjs at publish time rather than committed: committing it would mean renaming every workspace:* cross-reference and every @evidence-dev import in the source, and conflicting with upstream on all of it forever. Cross-references survive as npm aliases, so the dependency key stays @evidence-dev/sdk while its value points at our build. Auth is the built-in GITHUB_TOKEN - no new secrets. Merging this plus a toppynl-v* tag is all that is needed to publish.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes this fork releasable, so the fixes we carry are installable instead of only patchable.
Depends on nothing; can merge before or after #1.
What
.github/workflows/toppynl-publish.ymlmain, changesets opens/updates a "Version Packages" PR from.changeset/*.md— the setup already in this repo, not a second release mechanism.toppynl-v*tag (or manual dispatch), install (postinstall builds preprocess/tailwind/core-components/evidence), rescope,pnpm publishthe five packages in dependency order tonpm.pkg.github.com.GITHUB_TOKEN. No secrets to provision.workflow_dispatchdefaults todry_run: true, which only packs tarballs.release.ymlis guarded ongithub.repository == 'evidence-dev/evidence'and never fires here, so the two do not collide.scripts/toppynl-rescope.mjs— rewrites the five publishedpackage.jsons into@toppynl/evidence*.TOPPYNL.md— what this fork is, what it carries, how to release and consume it.Why the rename is a script and not a commit
Committing
@evidence-dev/*→@toppynl/*would mean renaming everyworkspace:*cross-reference and every@evidence-dev/...import in the source, and then conflicting with upstream on all of it, forever. This fork should stay a thin layer.So the rename happens in CI just before publish. Cross-references survive it as npm aliases — the dependency key stays
@evidence-dev/sdkand only the value becomesnpm:@toppynl/evidence-sdk@<version>— so the published code finds its dependencies under exactly the names its source imports. Packages we don't fork (icons, tailwind, telemetry, universal-sql, preprocess, db-commons, the other datasources) keepworkspace:*, whichpnpm publishturns into the exact upstream version and resolves from npmjs.Scope
@evidence-dev/evidence@toppynl/evidence@evidence-dev/core-components@toppynl/evidence-core-components@evidence-dev/sdk@toppynl/evidence-sdk@evidence-dev/component-utilities@toppynl/evidence-component-utilities@evidence-dev/bigquery@toppynl/evidence-bigqueryStatus
Set up, not triggered. The rescope script was run locally against the workspace and produces the expected names, aliases,
repositoryandpublishConfigfields; the workflow itself has not published anything. Merging this plus pushing atoppynl-v*tag is the whole release.Note for whoever flips the switch: consumers must add
@toppynl:registry=https://npm.pkg.github.com/to their.npmrc, and the Evidence CLI resolves datasource/component plugins by package name, soevidence.config.yamland anyconnection.yamlnaming@evidence-dev/bigqueryneed updating in the same step. Until thendata-reports-projectconsumes the same fix as apnpm patch.