Prepare MDV prerelease release workflow and rename zarrextra - #42
Conversation
📝 WalkthroughWalkthroughThis PR establishes a complete npm release system for SpatialData.js by unscoping the zarrextra package, configuring Changesets for prerelease versioning, adding GitHub Actions automation, setting public access on all packages, and comprehensively documenting release procedures. ChangesRelease Infrastructure & Package Unscoping
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.github/workflows/release.yml (2)
19-20: 💤 Low valueConsider adding
persist-credentials: falseto the checkout step.The static analysis tool flags that credentials may persist through GitHub Actions artifacts. While not critical for a version PR workflow, adding
persist-credentials: falsewould improve security posture by preventing potential credential leakage.🛡️ Proposed security enhancement
- name: Checkout repository uses: actions/checkout@v4 + with: + persist-credentials: false🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/release.yml around lines 19 - 20, The checkout step named "Checkout repository" currently uses actions/checkout@v4 without disabling credential persistence; update that step (the actions/checkout@v4 usage) to include persist-credentials: false so GitHub token credentials are not left in the workspace or artifacts. Add the persist-credentials: false option under the uses entry for the Checkout repository step and ensure the step still functions correctly after the change.Source: Linters/SAST tools
20-20: ⚖️ Poor tradeoffConsider pinning GitHub Actions to commit SHAs.
The static analysis tool recommends pinning actions to commit hashes rather than tags for improved supply chain security. While using version tags (e.g.,
@v4) is common practice, commit hashes provide stronger guarantees against tag manipulation.This is a defense-in-depth measure and not critical for most repositories, but worth considering if supply chain security is a high priority.
Example pinning approach
# Instead of: uses: actions/checkout@v4 # Use: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1You can use tools like pin-github-action to automate this process.
Also applies to: 23-23, 28-28, 38-38
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/release.yml at line 20, Replace tag-based action refs with pinned commit SHAs for all "uses:" entries (e.g., the occurrence "uses: actions/checkout@v4" and the other "uses:" lines flagged) by locating each uses: line in the workflow and substituting the tag (e.g., `@v4`) with the corresponding commit SHA for the intended release; update the comment or annotation to retain the human-readable tag (optional) and ensure you pin all actions mentioned in the file so they reference immutable commit hashes rather than floating tags.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/release.yml:
- Around line 19-20: The checkout step named "Checkout repository" currently
uses actions/checkout@v4 without disabling credential persistence; update that
step (the actions/checkout@v4 usage) to include persist-credentials: false so
GitHub token credentials are not left in the workspace or artifacts. Add the
persist-credentials: false option under the uses entry for the Checkout
repository step and ensure the step still functions correctly after the change.
- Line 20: Replace tag-based action refs with pinned commit SHAs for all "uses:"
entries (e.g., the occurrence "uses: actions/checkout@v4" and the other "uses:"
lines flagged) by locating each uses: line in the workflow and substituting the
tag (e.g., `@v4`) with the corresponding commit SHA for the intended release;
update the comment or annotation to retain the human-readable tag (optional) and
ensure you pin all actions mentioned in the file so they reference immutable
commit hashes rather than floating tags.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f49bcdcd-69a2-4b44-a7b0-83d8009a99d7
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (34)
.changeset/config.json.changeset/mdv-prerelease.md.changeset/pre.json.github/workflows/release.ymlREADME.mdRELEASE.mddocs/docs/core/error-handling.mdxdocs/docs/core/internals.mdxdocs/docs/core/overview.mdxdocs/docs/intro.mdxdocs/docs/vis/headless-viewer.mdxdocs/docs/vis/mdv-integration.mdxdocs/docs/vis/mdv-release-checklist.mdxpackage.jsonpackages/avivatorish/package.jsonpackages/core/package.jsonpackages/core/src/store/index.tspackages/core/src/types.tspackages/core/tests/badFiles.spec.tspackages/core/tests/shapesRenderData.spec.tspackages/core/tests/tableAssociations.spec.tspackages/core/tests/tableElement.spec.tspackages/core/tsconfig.jsonpackages/core/vite.config.tspackages/layers/package.jsonpackages/react/package.jsonpackages/react/tsconfig.jsonpackages/vis/demo/tsconfig.jsonpackages/vis/package.jsonpackages/vis/tsconfig.jsonpackages/zarrextra/README.mdpackages/zarrextra/package.jsonvite.config.base.tsvitest.config.ts
Summary
nextrelease line.@spatialdata/zarrextrato unscopedzarrextraand update workspace references, docs, and build aliases accordingly.Testing
pnpm buildpnpm -r --filter @spatialdata/vis testpnpm docs:buildzarrextra,@spatialdata/core, and@spatialdata/viswith thenexttaggit diff --checkSummary by CodeRabbit
New Features
nexttag (e.g.,npm install@spatialdata/core@next).zarrextrais now published as a separately available package on npm.Documentation