Forgejo action for building rust projects.
Find a file
Paul Campbell ef62a42e14
All checks were successful
/ test (map[name:stable]) (push) Successful in 3m37s
/ test (map[name:nightly]) (push) Successful in 2m20s
/ test (map[name:v1.81.0]) (push) Successful in 1m2s
build: use pinned version of rust action
Using a branch doesn't help as the action runners cache the action the
first time they use it and don't update when the branch changes.
2024-11-14 09:16:19 +00:00
.forgejo/workflows build: use pinned version of rust action 2024-11-14 09:16:19 +00:00
src Add sample app to build and test 2024-05-16 19:46:05 +01:00
.gitignore Add sample app to build and test 2024-05-16 19:46:05 +01:00
Cargo.toml Add sample app to build and test 2024-05-16 19:46:05 +01:00
Dockerfile deps: bump cargo-binstall from 1.9.0 to 1.10.12 2024-11-14 08:15:26 +00:00
entrypoint.sh feat: only update toolchain if it is 'nightly' 2024-11-14 08:15:15 +00:00
LICENSE Initial commit 2024-05-16 17:59:27 +01:00
README.md docs: update version and contents in readme 2024-11-14 09:08:24 +00:00
renovate.json Add renovate.json 2024-08-02 18:16:19 +00:00

docker-builder-rust

Docker image for building Rust projects with Cargo.

Usage

In a Forgejo action file, e.g. .forgejo/workflows/test.yml:

on: [push]
jobs:
  test:
    runs-on: docker
    steps:
      - uses: https://git.kemitix.net/kemitix/rust@v2.4.0
        with:
          args: nightly cargo test
      - uses: https://git.kemitix.net/kemitix/rust@v2.4.0
        with:
          args: v1.79.0 cargo build

The args is one of the following:

  • <COMMAND>
  • [ nightly | stable | v1.xx.x ] <COMMAND>

COMMAND is the command you want to run. The optional prefix is the Rust toolchain, or version. Allowed values are nightly, stable or a Rust version.

Where the optional prefix is not given, the stable toolchain will be used. The stable version is currently 1.82.0.

Contents

  • nodejs
  • rust
  • git
  • cargo
  • cargo-binstall
  • cargo-mutants
  • cargo-chef
  • cargo-hack
  • release-plz

Binary size

To reduce the size of the debug binary, add the following to the .cargo/config.toml file in you project.

[profile.dev]
debug = 0
strip = "debuginfo"