Skip to content

Pin inngest-cli version and cache the binary to avoid postinstall download - #1575

Open
mendral-app[bot] wants to merge 2 commits into
mainfrom
mendral/pin-inngest-cli-cache-binary
Open

Pin inngest-cli version and cache the binary to avoid postinstall download#1575
mendral-app[bot] wants to merge 2 commits into
mainfrom
mendral/pin-inngest-cli-cache-binary

Conversation

@mendral-app

@mendral-app mendral-app Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Pin inngest-cli to v1.27.0 (instead of @latest) and cache the npx binary directory to eliminate flaky CI failures caused by SIGTERM killing the postinstall download under resource pressure
  • Add retry logic in startDevServer() so if the first attempt fails (download killed), the cached binary is used on the second attempt

Problem

The Test examples (framework-elysiajs) job intermittently fails (~15-30%) because npx inngest-cli@latest dev triggers a postinstall.js that downloads the CLI binary. Under CI runner resource contention, this download gets SIGTERM'd, preventing the dev server from starting within the 60s timeout.

Changes

  1. packages/inngest/scripts/integrationTestRunner.ts: Pin inngest-cli@1.27.0, extract CLI args, add retry logic for dev server startup
  2. .github/workflows/pr.yml: Add actions/cache for ~/.npm/_npx and a pre-download step before integration tests run

Related insight: https://app.mendral.com/insights/01KTM90WWG0T68V5KVDM37R7KB


Note

Created by Mendral. Tag @mendral-app with feedback or questions.

…all failures

- Pin inngest-cli to v1.27.0 instead of @latest to ensure deterministic behavior
- Add actions/cache step for ~/.npm/_npx to persist the CLI binary across runs
- Pre-download inngest-cli before running integration tests
- Add retry logic in startDevServer() for cases where postinstall is killed
@changeset-bot

changeset-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: cc4f0ce

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@inngest-release-bot inngest-release-bot added the 📦 inngest Affects the `inngest` package label Jun 12, 2026
…ry jobs

The itest job uses @inngest/test-harness which also spawns inngest-cli@latest.
Pin it to 1.27.0 and add cache+pre-download steps for all jobs that use the CLI.
@mendral-app
mendral-app Bot marked this pull request as ready for review June 12, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 @inngest/test-harness 📦 inngest Affects the `inngest` package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant