ci: release packages - #348
Conversation
|
@coderabbitai review |
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository: PyModel/pythinker-code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
❌ Nix build failed |
4e8369a to
d00c476
Compare
|
@coderabbitai review |
d00c476 to
dbde2b5
Compare
|
@coderabbitai review |
…ns (#353) ## Requirement or Bug The release PR (#348) fails `build`, `test`, `nix build`, `Artifact security` and the preview publish. ## Bug Reproduction Steps 1. Merge any PR with a changeset that names `@pymodel/pythinker-web`. 2. The Release workflow opens `ci: release packages`, which bumps `apps/pythinker-web/package.json` `version`. 3. Every job that runs `check-web-assets.mjs` fails: "The committed web bundle is stale". ## Root Cause `vite.config.ts` compiles the web package version into the bundle (`__PYTHINKER_WEB_VERSION__`), and `package.json` is a fingerprinted build input. `changeset version` bumps it but nothing rebuilt `dist-web`, so the committed bundle was genuinely stale. Earlier releases (#301) were fixed by rebuilding by hand on the release branch. Fundamental fix: `version:release` now runs `pnpm run build:web` after `changeset version`, so the changesets action commits the rebuilt bundle with the bump. The release job already installs dependencies and runs `pnpm build` before this step. Second, unrelated failure in the same run: `towerService.test.ts` "leaves the roster untouched when another session owns the tower store" asserted the order of two log lines written by two independent async event handlers. It failed on CI when the order flipped. The test now checks both lines without order and finds the payload by message. ## Code Changes - `package.json`: `version:release` appends `&& pnpm run build:web`. - `towerService.test.ts`: order-independent assertion. ## Behavior Changes and Affected Users None for users. Release PRs now include the rebuilt `dist-web` whenever a version that reaches the bundle changes; the release job takes about one web build longer. Verification: - Simulated the bump locally: set the web version to `9.9.9`. The stale check failed; after `pnpm run build:web` it passed, and the new version appears in the bundle. Then I reverted. - `towerService.test.ts` passes: 108 of 108. ## Checklist - [x] I have read the [CONTRIBUTING](https://github.com/PyModel/pythinker-code/blob/main/CONTRIBUTING.md) document. - [x] I have linked a related issue (external PRs: issue must have a maintainer's `/approve`). - [x] I have added tests that prove my feature works. - [x] The behavior-change table above is complete, and every removed behavior or flipped default is named in the changeset and either has an escape hatch or was explicitly approved by a maintainer in this PR. - [x] Ran `gen-changesets` skill, or this PR needs no changeset. - [x] Ran `gen-docs` skill, or this PR needs no doc update.
dbde2b5 to
2b3e1e4
Compare
|
@coderabbitai review |
commit: |
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@pymodel/pythinker-code@2.4.1
Patch Changes
#352
772e69aThanks @elkaix! - Run tool calls that some models (such as DeepSeek) write as DSML or <tool_call> text instead of showing them as plain text.#352
772e69aThanks @elkaix! - Report an insufficient-balance response from OpenAI-compatible providers as a billing error instead of an authentication error.#349
69cc714Thanks @elkaix! - Fix OpenCode Go requests failing with "Request is missing x-opencode-session".#352
772e69aThanks @elkaix! - Accept a vendor API key or base URL set in a provider's env table (for example ANTHROPIC_API_KEY or ANTHROPIC_BASE_URL) instead of ignoring it.@pymodel/pythinker-web@0.2.0
Minor Changes
#347
bca1910Thanks @elkaix! - Align the embedded terminal palette and workflow panel motion with the shared design token system.#347
bca1910Thanks @elkaix! - Show estimated changed-line counts for large edits in session transcripts and file summaries instead of zero.#347
bca1910Thanks @elkaix! - Use the shared type scale and corner radii on application surfaces.@pymodel/pythinker-desktop@1.5.1
Patch Changes
#352
772e69aThanks @elkaix! - Run tool calls that some models (such as DeepSeek) write as DSML or <tool_call> text instead of showing them as plain text.#352
772e69aThanks @elkaix! - Report an insufficient-balance response from OpenAI-compatible providers as a billing error instead of an authentication error.#349
69cc714Thanks @elkaix! - Fix OpenCode Go requests failing with "Request is missing x-opencode-session".#352
772e69aThanks @elkaix! - Accept a vendor API key or base URL set in a provider's env table (for example ANTHROPIC_API_KEY or ANTHROPIC_BASE_URL) instead of ignoring it.