|
|
||
|---|---|---|
| .forgejo/workflows | ||
| examples | ||
| scripts | ||
| test/hello-world | ||
| .dockerignore | ||
| .gitignore | ||
| .renovaterc | ||
| Dockerfile | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
rust-xwin
A Docker image to be used by CI systems to cross-compile Rust applications to Windows binaries.
The image is based on the official Rust images, provides Jake-Shadle/xwin to download Windows libraries, and sets up LLVM, Rust and Wine such that most builds should run with minimal additional setup required.
Please check out the examples/.
Version number
The image tag builds a version number consisting of two parts:
- the Rust version
- the LLVM version
The Windows SDK manifest version and the version of xwin may occasionally be updated as well, but are not reflected in the image tags. Therefore, existing tags may sometimes be updated, but these updates shouldn't affect projects using the image to build.
Development
Building the image locally with just Docker works as usual.
The Forgejo Actions workflows utilize BuildKit to build the image, and Docker to test the image.
A runner needs a buildkit label, which expects to provide the BuildKit and Docker cli tools, and
access to their respective daemons (via preconfigured environment variables).
For running the workflows locally, the runner already injects the local Docker daemon socket, and the
script scripts/forgejo-runner-exec wraps the forgejo-runner exec call to provide a BuildKit daemon.