Skip to content

Optimize Container Builds and Publish Runtime Variants #141

Description

@yuanzui-cf

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area: infraContinuous integration and delivery infrastructuretype: featNew product functionality

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions