Skip to content

chore(ci) sync repository-tools from dd-repo-tools#81

Open
gh-worker-campaigns-3e9aa4[bot] wants to merge 1 commit into
mainfrom
campaigner/sync-dd-repo-tools
Open

chore(ci) sync repository-tools from dd-repo-tools#81
gh-worker-campaigns-3e9aa4[bot] wants to merge 1 commit into
mainfrom
campaigner/sync-dd-repo-tools

Conversation

@gh-worker-campaigns-3e9aa4

Copy link
Copy Markdown
Contributor

Syncs the shared repository-tools from dd-repo-tools:

  • .devcontainer/devcontainer.mk (make fragment — hashing, local dev targets)
  • .gitlab/devcontainer.yml (CI template — devcontainer build/cache job)

Both files are verbatim copies — edits here will be overwritten
on the next campaigner run. Edit upstream in dd-repo-tools instead.

Wiring

Your .gitlab-ci.yml needs a DEVCONTAINER_REPO_NAME: <this-repo>
variable and include: - local: .gitlab/devcontainer.yml to pull
in the devcontainer pipeline, plus two sidecars you own:
.devcontainer/Dockerfile and .devcontainer/context.files (rsync
--files-from list).

Source: https://github.com/DataDog/dd-repo-tools/tree/main/shared

Recent changes:
Two-tag publish: $DEVCONTAINER_IMAGE (OCI, universal) + $DEVCONTAINER_IMAGE_CI (nydus-optimized, lazy-loaded). Source: https://github.com/DataDog/dd-repo-tools/pull/2

@datadog-prod-us1-5

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 51.08% (+0.00%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 4ce54bb | Docs | Datadog PR Page | Give us feedback!

@pawelchcki pawelchcki marked this pull request as ready for review June 15, 2026 14:04
Copilot AI review requested due to automatic review settings June 15, 2026 14:04
@pawelchcki pawelchcki requested a review from a team as a code owner June 15, 2026 14:04
@pawelchcki pawelchcki requested review from xlamorlette-datadog and removed request for a team June 15, 2026 14:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Syncs the shared devcontainer CI template from dd-repo-tools, updating the consumer-facing devcontainer image publishing behavior to support separate “universal OCI” and “nydus-optimized CI” tags.

Changes:

  • Document that each devcontainer build publishes two tags: $TAG (OCI) and $TAG-ci (nydus-converted).
  • Publish the nydus-converted image under a dedicated -ci tag instead of overwriting the OCI tag.
  • Treat the cache as a hit only when both the OCI tag and its -ci variant exist, avoiding reuse of half-published images.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .gitlab/devcontainer.yml
--push -t "$ref" \
"$ctx"
nydus-convert "$ref" "$ref"
nydus-convert "$ref" "$ref-ci"
Comment thread .gitlab/devcontainer.yml
# Cache hit requires *both* the OCI ref and its -ci variant — a
# half-published state (e.g. nydus-convert failed mid-flight)
# must trigger a rebuild, not get reused.
both_cached() { crane manifest "$1" >/dev/null 2>&1 && crane manifest "$1-ci" >/dev/null 2>&1; }
Comment thread .gitlab/devcontainer.yml
Comment on lines +123 to +124
echo "DEVCONTAINER_IMAGE_AMD64_CI=$AMD_REF-ci"
echo "DEVCONTAINER_IMAGE_ARM64_CI=$ARM_REF-ci"
Comment thread .gitlab/devcontainer.yml
both_cached "$REF" || build_and_nydusify "$REF" linux/amd64,linux/arm64 ""
{
echo "DEVCONTAINER_IMAGE=$REF"
echo "DEVCONTAINER_IMAGE_CI=$REF-ci"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants