Skip to content

feat: Add Rust/cargo build support#381

Draft
Copilot wants to merge 7 commits into
mainfrom
copilot/support-rust-build-cargo
Draft

feat: Add Rust/cargo build support#381
Copilot wants to merge 7 commits into
mainfrom
copilot/support-rust-build-cargo

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 5, 2026

Adds containerized Rust builds using cargo, following the established Go/Zig language build pattern.

Implementation

Core Package (pkg/rust/)

  • Build orchestration with rust:1.83-alpine base image
  • Build script generation for cargo commands with profile/target/features support
  • Cache management via CARGO_HOME volume mounts
  • Production image creation copying binaries from target/{profile}/

Pipeline Integration (cmd/engine.go)

  • Registered rust.New() in Build category
  • Registered rust.NewProd() in PostBuild category

Build Flow

Pull base images → Build Rust toolchain image → Execute cargo build + test → Commit with binary → Tag

Configuration

build := container.Build{
    BuildType: container.Rust,
    App:       "binary-name",
    Image:     "registry/image",
    ImageTag:  "v1.0",
}
build.Custom.Set("profile", "release")              // release|debug
build.Custom.Set("target", "x86_64-unknown-linux-musl")  // cross-compilation
build.Custom.Set("features", "tokio,serde")         // cargo features

Generated Build Script

#!/bin/sh
set -e
export CARGO_HOME=/root/.cargo
cargo build --color never --release --target x86_64-unknown-linux-musl
cargo test --color never --release --target x86_64-unknown-linux-musl

Files

  • pkg/rust/rust.go - Container orchestration (304L)
  • pkg/rust/buildscript.go - Script templating (130L)
  • pkg/rust/buildscript_test.go - Unit tests (133L)
  • pkg/rust/Dockerfile.rust - Base image definition
  • Documentation in docs/RUST_*.md
Original prompt

This section details on the original issue you should resolve

<issue_title>Support Rust build with cargo.</issue_title>
<issue_description>Check the golang and zig implementation how to implement a language build process with engine-ci.

For now also just focus on build on Linux with cargo.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 5 commits February 5, 2026 00:08
Co-authored-by: fr12k <126682769+fr12k@users.noreply.github.com>
Co-authored-by: fr12k <126682769+fr12k@users.noreply.github.com>
Co-authored-by: fr12k <126682769+fr12k@users.noreply.github.com>
Co-authored-by: fr12k <126682769+fr12k@users.noreply.github.com>
Co-authored-by: fr12k <126682769+fr12k@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for Rust build with cargo feat: Add Rust/cargo build support Feb 5, 2026
Copilot AI requested a review from fr12k February 5, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Rust build with cargo.

3 participants