Newer
Older
# Rust Base Image
Rust base image for use in Gitlab CI. Includes extra tools to support the CI use case
## Usage
To use this image as the base for your CI pipeline, include the following at the head of your `.gitlab-ci.yml`:
```yaml
image: cr.weirdboi.dev/base/rust:1.84
```
To use this image for a specific pipeline job, include the following in your job spec:
```yaml
my_build_step:
stage: build
image: cr.weirdboi.dev/base/rust:1.82
script:
# ...
```
## Additional Tools
### Rustup
- Rustup is installed and configured using the default profile, which includes `fmt` and `clippy`.
- Only the default linux x86-64 toolchain is installed
- Stable rust is the default version, where the image tag dictates which rust version is being used
- Nightly rust is installed, where the version is based on the build time of the image
### Cargo Tools
- `cargo binstall` - Install prebuilt binaries from crates.io
- `cargo nextest` - Efficient testing
### Extra Binaries
- `junitify` - Can be used to transform the output of `cargo test` into a junit.xml file
- `node` - Node.js javascript runtime
### Cross support
- The container also includes `cross`, but does not install additional toolchains by default. This can be used to avoid prebuilding additional image versions in environments with DinD support