Skip to content

ci(sdk-smoke): check out percolator-sdk as a sibling so the nightly can install (#232) - #240

Open
dcccrypto wants to merge 1 commit into
mainfrom
ci/api-smoke-sibling-checkout
Open

ci(sdk-smoke): check out percolator-sdk as a sibling so the nightly can install (#232)#240
dcccrypto wants to merge 1 commit into
mainfrom
ci/api-smoke-sibling-checkout

Conversation

@dcccrypto

@dcccrypto dcccrypto commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Fixes the SDK publish smoke nightly, which has failed every run for at least a
week.

It never reaches an assertion

ENOENT: no such file or directory, scandir '/home/runner/work/percolator-sdk'
Process completed with exit code 254

package.json / pnpm-lock.yaml resolve @percolatorct/sdk as
file:../../percolator-sdk, so a bare checkout has no SDK to install. #233 adds
the sibling checkout to ci.yml; sdk-smoke.yml was left out, so this
nightly stays red no matter what version is pinned.

The pin is not the problem here — and that matters

The two sibling repos' nightlies were also red, and both needed a version
bump
(percolator-keeper#395, percolator-indexer#192: their smoke suites moved to
v17 assertions while their pins stayed at 2.0.5). The obvious inference is that
this repo needs the same. It doesn't, and I checked rather than assuming —
this repo's pin is 1.0.0-beta.33, which looks even more stale, so the inference
was tempting.

Ran this repo's own tests/sdk-smoke.test.ts against both:

@percolatorct/sdk@1.0.0-beta.33  →  30 passed (30)
@percolatorct/sdk@4.3.0          →  30 passed (30)

Both green. This repo's smoke asserts stable surface (SLAB_MAGIC, ENGINE_OFF,
parseHeader, …) rather than v17-specific behaviour, so the pin is fine and
bumping it would be unverified churn.

Three red nightlies, two distinct causes — worth stating plainly since fixing
them looked like one job:

repo cause fix
percolator-keeper stale pin vs v17 assertions #395
percolator-indexer stale pin vs v17 assertions #192
percolator-api missing sibling checkout this PR

The change

Copies the block #233 adds to ci.yml verbatim, including the two-levels-up path
note — from <runner>/work/percolator-api/percolator-api that is <runner>/work,
which differs from percolator-indexer#172's one level. YAML validated.

Related: #233 is blocking the PR queue

While confirming this I checked my other open PRs here. #235, #236, #237 and #239
all fail build-and-test with the same ENOENT, on runs from 2026-07-20 —
i.e. they are blocked by the unfixed CI, not by their own content. #233 is green
on build-and-test and fixes that for ci.yml.

So #233 unblocks the PR queue, and this PR unblocks the nightly. They are
independent files and can land in either order.

Summary by CodeRabbit

  • Chores
    • Updated the SDK smoke workflow to use the latest percolator-sdk main branch.
    • Added validation that the SDK distribution file is available before installing dependencies.

…an install (#232)

The SDK publish smoke has failed every night for at least a week. It has
never reached an assertion — it dies at install:

  ENOENT: no such file or directory, scandir '/home/runner/work/percolator-sdk'
  Process completed with exit code 254

package.json and pnpm-lock.yaml resolve @percolatorct/sdk as
`file:../../percolator-sdk`, so a bare checkout has no SDK to install.
ci.yml gets this treatment in #233; sdk-smoke.yml was left out, so the
nightly stays red regardless of which version is pinned.

The pin is NOT the problem here, which is worth stating because the two
sibling repos failed for that reason and the same conclusion does not
transfer. Verified locally by running this repo's own tests/sdk-smoke.test.ts
against both the pinned version and latest:

  @percolatorct/sdk@1.0.0-beta.33  →  30 passed (30)
  @percolatorct/sdk@4.3.0          →  30 passed (30)

Both green. So this repo needs only the checkout; percolator-keeper#395 and
percolator-indexer#192 needed version bumps because their smoke suites moved
to v17 assertions while their pins did not.

Copies the block #233 adds to ci.yml verbatim, including the two-levels-up
path note (`<runner>/work/percolator-api/percolator-api` → `<runner>/work`),
which differs from percolator-indexer#172's one level.
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
percolator-api Ready Ready Preview Aug 6, 2026 8:57am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5e3163c8-f37e-44dc-b9b7-6aac6ee80621

📥 Commits

Reviewing files that changed from the base of the PR and between b2751f4 and 03b9706.

📒 Files selected for processing (1)
  • .github/workflows/sdk-smoke.yml

📝 Walkthrough

Walkthrough

The SDK smoke workflow checks out percolator-sdk at main, places it at the expected sibling path, and verifies dist/index.js before dependency installation.

Changes

SDK smoke workflow

Layer / File(s) Summary
SDK checkout and distribution validation
.github/workflows/sdk-smoke.yml
The workflow checks out percolator-sdk at main, moves it to the expected sibling path, and stops if dist/index.js is missing.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • dcccrypto/percolator-keeper#389 — Both changes modify SDK smoke workflow checkout and distribution validation.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main CI change: checking out percolator-sdk as a sibling for SDK smoke tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/api-smoke-sibling-checkout

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dcccrypto

Copy link
Copy Markdown
Owner Author

Confirming what this PR's own red check is, since it would otherwise read as a
problem with the change.

build-and-test fails in the CI workflow (ci.yml), at
pnpm install --frozen-lockfile:

ENOENT: no such file or directory, scandir '/home/runner/work/percolator-sdk'
Process completed with exit code 254

This PR only edits sdk-smoke.yml. The failure is the pre-existing ci.yml gap
that #233 fixes — the same one blocking #235, #236, #237 and #239.

So the dependency runs one way: #233 turns build-and-test green here, and
this PR turns the nightly green. Landing #233 first makes this one demonstrably
green rather than argued-green; happy to wait for that ordering.

@dcccrypto

Copy link
Copy Markdown
Owner Author

Coordination note I should have made when opening this — #239 and this PR both
rewrite .github/workflows/sdk-smoke.yml, and they conflict.
Test-merged onto
main in sequence:

merge #239 → exit 0
merge #240 → exit 1   CONFLICT: .github/workflows/sdk-smoke.yml

Both are mine, both are needed, and they're logically distinct: #239 drops an
invalid pnpm add flag and stops splicing the repository_dispatch payload into
a shell command; this one adds the SDK sibling checkout so the job can install at
all. They just happen to edit adjacent parts of the same file.

Suggested order: #239 first, then this. #239 is the older and smaller change,
and I'll rebase this one onto it as soon as it lands — no work for a reviewer
either way.

My oversight: I ran exactly this check for two other people's overlapping PRs a
few days ago and didn't run it against my own queue before opening this. Checking
whether you already have an open PR touching the file is the same one-minute test
regardless of who wrote the other one.


Unrelated, while I was auditing red checks here — #239's CodeRabbit failure is
not a review finding.
Its comment reads:

Review limit reached

A rate limit on their service, timestamped 2026-07-21T08:55, the same window as
the stale Vercel reds. Nothing to address on the code.

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.

1 participant