build: bootstrap pyo3
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
Best to review by commit.
This PR makes maturin the build-system for Craft Parts, oxidizes a simple class as a proof-of-concept, adds a couple of simple and silly Rust unit tests to demonstrate, type stubs, and a workflow to build and publish the compiled wheels to each of our supported architectures.
Many of the patterns introduced here were first decided on while prototyping with an LLM in [this repository](https://github.com/dangertoaster/maturin-playground/). It has a pretty wordy README that covers the reasoning of each decision, so it may be a useful reference for reviewers.
CRAFT-5338.
---
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/craft-parts/blob/main/CONTRIBUTING.md).
- [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
No evaluation history available.
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
No embedding available for this issue yet. Run scripts/run_llm.py evaluate to enable similarity search.