You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BakeryConfig.build_targets() (posit-bakery/posit_bakery/config/config.py) has an ImageBuildStrategy.BUILD branch that loops over self.targets and calls target.build(...) serially, wrapped in _retry_build. --strategy build exists specifically for generic container builders (Podman, nerdctl) that don't support Buildx Bake's native parallelism, so it currently gets none of the concurrency that --strategy bake gets for free.
Unlike hadolint/wizcli (see related issues), this path does not shell out via a plain cmd: list[str] — target.build() (posit_bakery/image/image_target.py) calls the python_on_whales SDK directly. The existing ShellTask/ParallelShellExecutor primitives from #588 assume a raw subprocess command, so this isn't a drop-in port.
Scope (needs a design decision before implementation)
Summary
BakeryConfig.build_targets()(posit-bakery/posit_bakery/config/config.py) has anImageBuildStrategy.BUILDbranch that loops overself.targetsand callstarget.build(...)serially, wrapped in_retry_build.--strategy buildexists specifically for generic container builders (Podman, nerdctl) that don't support Buildx Bake's native parallelism, so it currently gets none of the concurrency that--strategy bakegets for free.Unlike hadolint/wizcli (see related issues), this path does not shell out via a plain
cmd: list[str]—target.build()(posit_bakery/image/image_target.py) calls thepython_on_whalesSDK directly. The existingShellTask/ParallelShellExecutorprimitives from #588 assume a raw subprocess command, so this isn't a drop-in port.Scope (needs a design decision before implementation)
posit_bakery/parallel/with a callable-based job abstraction (run an arbitrary function per target on the executor, not just a shell command) — generalizing the directionShellJob/CommandRunnertook in feat: parallelize bakery ci publish across image targets #641/feat: retry-with-backoff for the parallel publish path #642 for oras/soci.docker build/podman builddirectly as acmd: list[str], dropping down from thepython_on_whalesSDK for this strategy specifically.--fail-fast,retry, andBakeryBuildErrorGroupaggregation behavior._merge_sequential_build_metadata_files()metadata-file writing behavior when--metadata-fileis set.Out of scope
--strategy bakebehavior (already parallel via Buildx Bake).Part of the investigation started in #584.