pipeline to build scna and push model engine for sg2.0#795
Merged
osayandehenry merged 5 commits intomainfrom Apr 3, 2026
Merged
Conversation
astringel
approved these changes
Apr 2, 2026
…for-model-engine-llm-engine
…for-model-engine-llm-engine
bbecker-scale
approved these changes
Apr 3, 2026
…for-model-engine-llm-engine
lilyz-ai
approved these changes
Apr 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Summary
CICD for when we mirror llm-engine repo to our gitlab in order to build , scan and push images
Test Plan and Usage Guide
How did you validate that your PR works correctly? How do you run or demo the code? Provide enough detail so a reviewer can reasonably reproduce the testing procedure. Paste example command line invocations if applicable.
Greptile Summary
This PR introduces a GitLab CI/CD pipeline (
.gitlab-ci.yml) and aVERSIONfile to enable building, scanning, and pushing the FIPS-compliantmodel-engineimage to Harbor when thellm-enginerepository is mirrored to the internal GitLab instance for the SG2.0 environment.Key changes:
.gitlab-ci.ymlthat includesscalegov2-pipelinestemplates for Docker build and Grype scanning, with workflow rules covering MR events, default branch, tags, and manual web triggers.compute-tagjob in the.prestage that generates a semver+datetime+SHA image tag (e.g.1.0.0-20260401-a1b2c3d4) and exposes it via a dotenv artifact asIMAGE_TAG_OVERRIDE.buildandbuild-mrjob overrides that inject adocker loginfor Scale's private Chainguard registry (needed to pull thecgr.dev/scale.com/python-fipsbase image) while preserving the template's basebefore_scriptvia!reference.VERSIONfile seeding the initial version at1.0.0.Minor findings (all P2 — non-blocking):
includeentries useref: main, a floating reference that can silently pick up breaking changes from the upstreamscalegov2-pipelinesrepo. Pinning to a tag or commit SHA is recommended.alpine:latestincompute-tagis a mutable tag; pinning to a specific minor version (e.g.alpine:3.21) improves reproducibility.apk add --no-cache gitis installed incompute-tag'sbefore_scriptbutgitis never invoked in thescriptblock — it can be removed to save time and reduce container surface.Confidence Score: 5/5
Safe to merge — all remaining findings are P2 style/best-practice suggestions that do not affect correctness or runtime behavior.
The pipeline logic is straightforward and well-documented. The three open findings (floating template ref, mutable Alpine tag, unused git package) are all non-blocking cleanup items with no impact on whether the pipeline builds, scans, or pushes images correctly. Per the confidence guidance, a PR with only P2 findings scores 5/5.
No files require special attention beyond the minor P2 suggestions in
.gitlab-ci.yml.Important Files Changed
ref: mainfor template includes (reproducibility risk), installs an unusedgitpackage in the compute-tag job, and uses a mutablealpine:latestimage tag — all minor style/best-practice issues.VERSIONfile seeding the initial semver at1.0.0, consumed by thecompute-tagjob to build image tags.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Pipeline Trigger\nMR / default branch / tag / web] --> B[compute-tag\n.pre stage] B -->|reads VERSION file| C[Generate IMAGE_TAG_OVERRIDE\ne.g. 1.0.0-20260401-a1b2c3d4] C -->|dotenv artifact: tag.env| D{Trigger source?} D -->|merge_request_event| E[build-mr\ndocker login cgr.dev\nbuild image] D -->|default branch / tag / web| F[build\ndocker login cgr.dev\nbuild image] E --> G[scan\nGrype vulnerability scan] F --> G G -->|push to Harbor| H[Harbor Registry\napps-dev / model-engine:TAG]Prompt To Fix All With AI
Reviews (5): Last reviewed commit: "Merge branch 'main' into osayandehenry-i..." | Re-trigger Greptile