Repository navigation
ci(sdk-tests): run each SDK suite only when its own package changes - #2116
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
Package ArtifactsBuilt from e29de37. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-dockerfile-utils-0.1.2-devin-1794320420-sdk-tests-own-paths.0.tgz ./e2b-2.63.1-devin-1794320420-sdk-tests-own-paths.0.tgzCLI ( npm install ./e2b-cli-2.23.1-devin-1794320420-sdk-tests-own-paths.0.tgzCode Interpreter JS SDK ( npm install ./e2b-code-interpreter-2.9.2-devin-1794320420-sdk-tests-own-paths.0.tgzDesktop JS SDK ( npm install ./e2b-desktop-2.5.1-devin-1794320420-sdk-tests-own-paths.0.tgzPython SDK ( pip install ./e2b_dockerfile_utils-0.1.1+devin.1794320420.sdk.tests.own.paths-py3-none-any.whl ./e2b-2.63.0+devin.1794320420.sdk.tests.own.paths-py3-none-any.whlCode Interpreter Python SDK ( pip install ./e2b_code_interpreter-2.11.9+devin.1794320420.sdk.tests.own.paths-py3-none-any.whlDesktop Python SDK ( pip install ./e2b_desktop-2.7.2+devin.1794320420.sdk.tests.own.paths-py3-none-any.whl |
Summary
sdk_tests.ymlalready path-filtered suites, but two things made most PRs run nearly everything:packages/js-sdkchanges also triggered CLI, Code Interpreter JS and Desktop JS;packages/python-sdkchanges also triggered Code Interpreter Python and Desktop Python.pnpm-lock.yaml/package.json/pnpm-workspace.yamltriggered every suite, including the Python ones. So a CLI PR that bumped a dependency ran all suites.Now each suite runs only for its own package, its own workflow file, and:
shared(all suites):sdk_tests.yml,.tool-versionsjs_shared(JS suites + CLI): the above plus rootpackage.json,pnpm-workspace.yaml(overrides/catalog), and the root*.sdk.config.mts/vitest.cloudflare.config.mts/tsconfig.sdk.jsonspec/**anddockerfile-utils-*count only for the base JS/Python SDKs, which use thempnpm-lock.yamlis no longer a trigger, because a package's dependency change also touches its ownpackage.json.workflow_dispatchstill runs everything.Checked against recent PRs (picomatch replay of the filters):
clijs,pythonclicliTrade-off: a base-SDK change that breaks a dependent (CLI / Code Interpreter / Desktop) won't be caught on that PR. It will show up on the next PR that touches the dependent, or through a manual
workflow_dispatchrun. A lockfile-only change (apnpm updatewithin existing ranges) no longer runs JS suites either.Link to Devin session: https://app.devin.ai/sessions/af049f96c55f4e1791ed5bb6a42f1712
Open in Devin Desktop: https://app.devin.ai/desktop/session/af049f96c55f4e1791ed5bb6a42f1712?variant=devin
Requested by: @mishushakov