build providers: fix issues running on Windows
Metadata
Current evaluation
Merged Windows build provider compatibility fix. Resolved tempfile handling during asset pushes, corrected destination path construction, updated architecture detection for Windows, and removed deb-src from defaults. Approved and passed CI.
Suggested action: —
No scores available.
Issue body
Changed tempfile management when pushing assets to the build
environment as transfer opens the tempfile which caused issues on
Windows.
Fixed the path used on destination (os.path.join created a half breed
of Unix and Windows based paths).
Repository setup takes into account the platform.machine value
returned by Windows.
Lastly, and this affects all setups, deb-src was removed from the
default list as it is not default in most installations and should be
managed by package repositories if needed (Snapcraft has no apt source
semantics).
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged Windows build provider compatibility fix. Resolved tempfile handling during asset pushes, corrected destination path construction, updated architecture detection for Windows, and removed deb-src from defaults. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Fixes Windows compatibility in build providers by correcting tempfile management during asset pushes, fixing path joining, handling platform.machine for repository setup, and removing deb-src from default package lists. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Fixes Windows compatibility in build providers by correcting tempfile handling, fixing destination path construction, accounting for platform.machine, and removing deb-src from default package lists. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6075 build!: remove native Windows support | snapcraft | merged | Merged removal of native Windows build support, fully transitioning to WSL. Leftover build files were cleaned up to align with documentation. Approved by three reviewers and passed all CI checks. | |
| #2374 build providers: destroy on create failures | snapcraft | merged | Merged. Resolves a bug where build providers and VMs remained running after launch failures. Adds cleanup logic and tests across seven files, approved by a reviewer and passing CI checks. | |
| #3434 build providers: clean environment if project directory is changed | snapcraft | merged | Merged into master. Fixes environment cleanup when project directories are relocated or reused. The build provider now tracks the directory path, verifies compatibility, and automatically cleans the environment on mismatch. Approved and passed CI. |