Objective
Reduce container build time and publish supported Debian, Debian Slim, and Alpine runtime images for versioned releases.
Scope
- Preserve GitHub Actions BuildKit caching while separating stable Rust dependency layers from frequently changing application sources.
- Build fully static musl Rust binaries that can be shared by all runtime variants.
- Publish version, branch, and commit tags with matching default,
-slim, and -alpine variants.
- Use Debian Bookworm, Debian Bookworm Slim, and Alpine 3.22 runtime bases.
- Document image selection and local build commands.
- Define repository-wide English content standards for GitHub Issues and pull requests.
Acceptance Criteria
- Rust dependency compilation is reusable when application source files change without dependency changes.
- A version tag publishes
<version>, <version>-slim, and <version>-alpine.
- Branch and commit tags use the same runtime suffix convention.
- Each image runs both Grass Worker binaries, provides Git 2.49 or newer, and uses the expected operating-system base.
- The static musl binaries and final image sizes are measured during validation.
just quality passes.
Constraints
- GitHub's default branch remains
main.
- No existing zero-use or semantically overlapping labels are removed.
- Only formatting-duplicate area labels are migrated and deleted.
Objective
Reduce container build time and publish supported Debian, Debian Slim, and Alpine runtime images for versioned releases.
Scope
-slim, and-alpinevariants.Acceptance Criteria
<version>,<version>-slim, and<version>-alpine.just qualitypasses.Constraints
main.