Skip to content

feat(build): STEP 5: shared pip-buildenv for Opentrons app recipes#352

Open
neo-jesse wants to merge 1 commit into
mainfrom
feat/shared-pip-buildenv
Open

feat(build): STEP 5: shared pip-buildenv for Opentrons app recipes#352
neo-jesse wants to merge 1 commit into
mainfrom
feat/shared-pip-buildenv

Conversation

@neo-jesse

@neo-jesse neo-jesse commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Honor PIP_CACHE_DIR in opentrons_app_bundle.bbclass.
  • Share a flock-guarded host pip-buildenv across parallel server recipes when the cache dir is set.
  • Use per-recipe private pip caches (hardlink-seeded) during do_compile, then merge back under flock to avoid pip lock contention.
  • Keep --no-binary :all: by default via overridable OPENTRONS_APP_BUNDLE_PIP_NO_BINARY.
  • Register new variables in oelint-constants.json; set PIP_CACHE_DIR in CI local.conf.

Test plan

  • oelint passes on opentrons_app_bundle.bbclass
  • Stage-dev build: logs show shared buildenv reuse across server recipes
  • Server do_compile wall is not worse than pre-change ~14.5m (ideally better on warm pip-buildenv)
  • Default still uses --no-binary :all: unless overridden

Add PIP_CACHE_DIR, a flock-guarded shared host pip-buildenv, and
per-recipe private pip caches to cut parallel do_compile contention.

Co-authored-by: Cursor <cursoragent@cursor.com>
@neo-jesse neo-jesse changed the title feat(build): shared pip-buildenv for Opentrons app recipes feat(build): STEP 5: shared pip-buildenv for Opentrons app recipes Jul 13, 2026
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