test: move server-channel integration to server and fix client typechecks - #410
Merged
alanshaw merged 7 commits intoMar 13, 2026
Merged
Conversation
NiKrause
force-pushed
the
fix/client-typecheck-connection
branch
from
February 18, 2026 09:00
3dc2015 to
37f8f08
Compare
This was referenced Feb 18, 2026
Merged
alanshaw
requested changes
Mar 4, 2026
| push: | ||
| branches: | ||
| - main | ||
| - '**' |
Member
There was a problem hiding this comment.
I think this is perhaps not quite the right change. I think the pull_request.branches config needs to be removed (or changed to '**') instead. This will run these workflows on any push to any branch, whereas I think we only really need it to run when opening (or amending) a PR that we want merged. This is consistent with other repos we have in the organization.
Contributor
Author
There was a problem hiding this comment.
ok. that is naturally better. I re-removed it from pull_request.branches and now only main branch o push is triggered.
Member
There was a problem hiding this comment.
I'd perhaps name this server-channel.js since the server is acting as the channel in the tests.
alanshaw
approved these changes
Mar 13, 2026
NiKrause
added a commit
to NiKrause/ucanto
that referenced
this pull request
Mar 13, 2026
…ecks (storacha#410) ## Summary - move server-as-channel integration tests from `packages/client/test/client.spec.js` to `packages/server/test/client-channel.spec.js` - keep client tests package-local (no `@ucanto/server` / `@ucanto/validator` imports) - add local client execute/decode tests to restore `packages/client` 100% coverage gates - run package workflows on pushes to all branches (`push.branches: ["**"]`) for `client`, `core`, `interface`, `principal`, `server`, `transport`, and `validator` ## Why The previous client test changes mixed server integration concerns into the client package, which caused fragile TypeScript behavior in isolated package checks. This PR keeps boundaries clear: - server package owns server-channel integration behavior - client package keeps self-contained tests and coverage ## Why checks failed after merge previously On PR storacha#407, package CI typecheck jobs did not run on the PR head commit (only `Validate PR title` was recorded). On merge commit `60c70da`, push workflows ran package typechecks and surfaced failures. So the issue was check coverage/enforcement at PR time (branch protection/ruleset/settings), not new source changes introduced between PR creation and merge. ## Remark This PR now also removes `main`-only `push.branches` constraints for package workflows by switching them to `"**"`. Combined with `pull_request` checks and required status checks on `main`, this reduces merge-time surprises by surfacing failures earlier on feature-branch pushes. --- Co-Authored-By: Oz <oz-agent@warp.dev>
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.
Summary
packages/client/test/client.spec.jstopackages/server/test/client-channel.spec.js@ucanto/server/@ucanto/validatorimports)packages/client100% coverage gatespush.branches: ["**"]) forclient,core,interface,principal,server,transport, andvalidatorWhy
The previous client test changes mixed server integration concerns into the client package, which caused fragile TypeScript behavior in isolated package checks.
This PR keeps boundaries clear:
Why checks failed after merge previously
On PR #407, package CI typecheck jobs did not run on the PR head commit (only
Validate PR titlewas recorded). On merge commit60c70da, push workflows ran package typechecks and surfaced failures.So the issue was check coverage/enforcement at PR time (branch protection/ruleset/settings), not new source changes introduced between PR creation and merge.
Remark
This PR now also removes
main-onlypull_request.branchesconstraints for all package workflows