← Back to issue list

bases: refactor base handling code

View original Github issue

Metadata

Project
craft-providers
Number
#274
Type
pull request
State
merged
Author
syu-w
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #274 as commit b72f04c, refactoring base handling, moving instance configuration, adding per-operation executor timeouts, and standardizing shared base-image contents.

Resolution: closed resolved

Reason: PR #274 was approved and merged as commit b72f04c. Repository history and current code confirm the refactor, moved instance_config module, and timeout handling remain implemented.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Adjusted some import locations to prevent circular imports. Moved `craft_providers/bases/instance_config.py` to `craft_providers/instance_config.py` Added `timeout` argument (in seconds) into executors. All external calls now have a pre-defined timeout. Default timeout constants: * Simple task 1 min * Complex task 10 mins * Unpredictable task 60 mins * Network check timeout 10 seconds Added `timeout` argument (in seconds) into lxc and multipass executors. Removed `_check_deadline(deadline)`. Global total timeout is no longer supported. All base class now use `self.executor`, no longer accept `(executor=executor, deadline=deadline)` All supported base images will now use a shared base. All images will be pre-installed with `build-essential` (or equivalent), `git`, and `python3` (with `devel`, `pip`, `venv`, `setuptools`, `wheel`) Packages update cache files will be cleared before finish the image. They are unlikely be used again and save space and time when create new instances. CRAFT-1717 CRAFT-1475 https://github.com/canonical/craft-providers/issues/146 https://github.com/canonical/charmcraft/issues/1047

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #274 as commit b72f04c, refactoring base handling, moving instance configuration, adding per-operation executor timeouts, and standardizing shared base-image contents.
qwen/qwen3.6-35b-a3b — closed resolved Refactored base handling, added timeouts to executors, moved instance_config, and pre-installed build tools to resolve CRAFT-1717 and related issues.

Update history

Date Change
created

Related work

Related issues

Issue Project State Summary Similarity
#247 bases: refactor buildd to ubuntu craft-providers merged Merged PR #247 as de2d42e, replacing Buildd-specific base handling with Ubuntu-specific modules and preparing base dispatch for additional OS support.
74%
#1795501 Better base detection snapcraft (launchpad) closed Build-environment base detection was fixed by merged PR #2309 (commit 3565ed2e7); PR #2311 also corrected legacy re-exec behavior.
72%
#15 bases: introduce abstract Base and buildd implementation craft-providers closed Split into smaller changes: the abstract Base landed through merged PR #18 (commit a355b7e), while the oversized Base/buildd PR #15 was closed.
71%