Skip to content

ci: harden test and release maintenance - #104

Merged
delorenj merged 11 commits into
mainfrom
codex/harden-nightly-pr
Jul 24, 2026
Merged

delorenj merged 11 commits into
mainfrom
codex/harden-nightly-pr

Conversation

@delorenj

Copy link
Copy Markdown
Owner

Summary

  • enforce frozen installs, coverage ratcheting, tests, and builds in CI
  • serialize and validate npm/MCP Registry releases with pinned dependencies and package smoke tests
  • keep package and Registry manifest versions atomic through the supported version bump command

Validation

  • 133 tests passed, 26 skipped
  • coverage baseline gate passed
  • production build and installed tarball smoke passed
  • workflow YAML and manifest parity checks passed

Auto-generated by the nightly PR maintenance hardening effort; auto-merge remains disabled.

Copilot AI review requested due to automatic review settings July 16, 2026 03:40

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates Vitest dependencies, changes the binary entry point in package.json to the built file, introduces a script to determine npm distribution tags, and rewrites the version bumping script to atomically update manifests. It also adds comprehensive unit tests for these changes and updates coverage thresholds. Feedback on these changes includes addressing potential execution failures on Unix-like systems due to a missing shebang in the built binary, fixing a redundant and potentially dangerous file restoration logic in the atomic file replacement utility, and removing unreachable dead code in the npm distribution tag script.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread package.json
Comment thread scripts/versionbump.js Outdated
Comment thread scripts/npm-dist-tag.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens the project’s CI and release process by enforcing reproducible installs, ratcheting coverage baselines, and consolidating/pinning release publishing steps to improve reliability for npm + MCP Registry publishing.

Changes:

  • Enforces frozen dependency installs and validates the coverage baseline is committed in CI.
  • Reworks the release publishing workflow to validate versions, pack + smoke test the tarball, and gate Registry publishing on npm availability.
  • Adds/extends release helper scripts (versionbump, npm-dist-tag) with new unit coverage, and updates manifest/version alignment.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
vitest.config.ts Raises the coverage ratchet thresholds.
tests/unit/versionbump.test.ts Adds unit coverage for atomic version bumping behavior and git integration scenarios.
tests/unit/trello-client.test.ts Adds unit coverage for activity subscriptions and label search/removal behaviors.
tests/unit/npm-dist-tag.test.ts Adds unit tests for npm dist-tag selection logic.
server.json Updates server/registry manifest version to align with release workflow requirements.
scripts/versionbump.js Refactors version bumping into reusable functions and adds atomic file replacement + CLI flags.
scripts/npm-dist-tag.js Introduces dist-tag selection helper and CLI wrapper for release automation.
package.json Pins Vitest-related devDependencies and switches published bin entry to built output.
bun.lock Updates lockfile to reflect pinned Vitest dependency versions.
.github/workflows/publish-registry.yml Removes the separate registry workflow (publishing is consolidated elsewhere).
.github/workflows/publish-npm.yml Replaces prior publishing flow with a pinned, serialized, smoke-tested release pipeline that includes Registry publishing.
.github/workflows/ci.yml Adds concurrency, frozen installs, coverage-baseline-diff guard, and build enforcement.

Comment thread .github/workflows/publish-npm.yml Outdated
Comment thread scripts/npm-dist-tag.js Outdated
Comment thread scripts/npm-dist-tag.js
Comment thread scripts/versionbump.js Outdated
Comment thread scripts/versionbump.js
@delorenj

Copy link
Copy Markdown
Owner Author

@copilot resolve the merge conflicts in this pull request

Copilot AI commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Resolved in 4eff8e5.

@delorenj
delorenj merged commit 41bc348 into main Jul 24, 2026
2 checks passed
PM-Labs pushed a commit to pmlabs-org/mcp-trello that referenced this pull request Jul 31, 2026
* ci: harden test and publish workflows

* ci: address release hardening review

* ci: enforce release tag and coverage invariants

* ci: unify and validate release publication

* fix: propagate version bump git failures

* fix: resolve release maintenance review findings

* fix: restore missing label client methods

* test: cover empty label searches

* docs: clarify trusted publishing provenance note

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
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.

3 participants