70 lines
1.1 KiB
Markdown
70 lines
1.1 KiB
Markdown
# docker-builder-rust
|
|
|
|
Docker image for building Rust projects with Cargo.
|
|
|
|
## Usage
|
|
|
|
In a Forgejo action file, e.g. `.forgejo/workflows/test.yml`:
|
|
|
|
```yml
|
|
on: [push]
|
|
jobs:
|
|
test:
|
|
runs-on: docker
|
|
container:
|
|
image:
|
|
git.kemitix.net/kemitix/rust:v3.0.0
|
|
steps:
|
|
- name: test with nightly
|
|
run: cargo +nightly test
|
|
- name: build with v1.74.1
|
|
run: cargo +1.74.1 cargo build
|
|
- name: test with stable
|
|
run: cargo test
|
|
```
|
|
|
|
## Toolchains
|
|
|
|
The available toolchain in the image are:
|
|
|
|
- `nightly`
|
|
- stable
|
|
- 1.74.1
|
|
|
|
## Contents
|
|
|
|
- nodejs
|
|
- rust
|
|
- git
|
|
- cargo
|
|
- cargo-binstall
|
|
- cargo-mutants
|
|
- cargo-chef
|
|
- cargo-hack
|
|
- release-plz
|
|
- perl
|
|
|
|
### Scripts
|
|
|
|
- `check-for-ignored`
|
|
|
|
Checks for files that are being tracked by Git but should be ignored according
|
|
to the `.gitignore` file.
|
|
|
|
#### Usage
|
|
|
|
```yaml
|
|
steps:
|
|
- name: Check for Ignored Files
|
|
run: check-for-ignored
|
|
```
|
|
|
|
## Caveats
|
|
|
|
### native-tls
|
|
|
|
This crate *must* use the `vendored` feature in order to compile in the Alpine Linux image.
|
|
|
|
```toml
|
|
native-tls = { version = "0.2", features = ["vendored"] }
|
|
```
|