1.23 beta6 - #901
Conversation
…#900) ## Problem The `publish: datatype parser` workflow ([failing run](https://github.com/ClickHouse/clickhouse-js/actions/runs/28301379782/job/83850177472)) fails at `npm ci`. The workflow was ported from when `@clickhouse/datatype-parser` was a standalone repo, so it ran `npm ci` from the package dir (`packages/datatype-parser`). The package is now an **npm workspace** member, so a scoped install from the package dir resolves to the root workspace install and fires the root lifecycle scripts — but without the dev-only root devDependencies those scripts need: - `postinstall` → `parquet-wasm` - `prepare` → `husky`: ``` > husky sh: 1: husky: not found npm error code 127 ``` ## Fix Install the whole workspace from the **repo root** (override the job's package-dir default for just the install step). The build/pack/publish steps still run from `packages/datatype-parser`. This is the correct workspace-aware install and lets the root lifecycle scripts run with their devDependencies present. Also reverts the #897 postinstall guard, which was a workaround for the now-fixed scoped-install problem; the original strict form fails loudly if `parquet-wasm` is ever genuinely missing. ## Verification (local, Node 24 matching CI) - plain scoped `npm ci` from `packages/datatype-parser` → reproduces the `husky` exit 127 failure - root `npm ci` → installs full workspace; strict `postinstall` (parquet-wasm) and `prepare` (husky) both run cleanly - `npm run build` (tsc) from the package dir → OK - `npm pack` + install tarball + `import { parseDataType }` smoke test → "imports cleanly" ## Follow-up The publish workflow dispatches from the protected `release` branch, so after this merges to `main`, `release` needs to be updated to the new snapshot before re-dispatching the publish. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR adjusts the repository install/publish mechanics so the @clickhouse/datatype-parser publish workflow performs dependency installation from the workspace root (avoiding missing root lifecycle devDependencies during a package-dir npm ci), and updates the root postinstall parquet-wasm patch command accordingly.
Changes:
- Run
npm cifrom the repo root in thepublish-datatype-parserworkflow (while keeping subsequent steps inpackages/datatype-parser). - Update the root
postinstallscript to patchparquet-wasmwithout suppressing errors/output.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| package.json | Updates the root postinstall parquet-wasm patch command. |
| .github/workflows/publish-datatype-parser.yml | Installs dependencies from the repo root to ensure root lifecycle scripts have required devDependencies. |
No description provided.