Forgejo action for building rust projects.
Find a file
Paul Campbell b961de0eec
All checks were successful
/ test (push) Successful in 38s
chore: bump debian packages
4.234  curl : Depends: libcurl4 (= 7.88.1-10+deb12u5) but
7.88.1-10+deb12u6 is to be installed4.236  libssl-dev : Depends: libssl3
(= 3.0.11-1~deb12u2) but 3.0.13-1~deb12u1 is to be installed4.236
nodejs : Depends: libnode108 (= 18.19.0+dfsg-6~deb12u1) but
18.19.0+dfsg-6~deb12u2 is to be installed
2024-08-02 20:04:27 +01:00
.forgejo/workflows chore(deps): update kemitix/rust action to v1 2024-08-02 18:46:25 +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 chore: bump debian packages 2024-08-02 20:04:27 +01:00
entrypoint.sh entrypoint: remove diagnostics 2024-05-16 19:55:36 +01:00
LICENSE Initial commit 2024-05-16 17:59:27 +01:00
README.md docs: update example to use rust version 2024-08-02 19:41:41 +01: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@v1.80.0
        with:
          args: test
      - uses: https://git.kemitix.net/kemitix/rust@v1.80.0
        with:
          args: build

Contents

  • nodejs
  • clang-16
  • mold
  • rust
  • git
  • cargo
  • cargo-binstall

Linking

To take advantage of the clang and mold packages, add the following to the .cargo/config.toml file in your project.

[target.x86_64-unknown-linux-gnu]
linker = "/usr/bin/clang-16"
rustflags = ["-C", "link-arg=--ld-path=/usr/bin/mold"]

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"