From a69ab706d319242ce8da384c6808d98f614ae8ce Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 17 May 2026 19:43:06 +0000 Subject: [PATCH] fix: push cpp container to gabrielfrasantos/embedded-devcontainer-cpp Agent-Logs-Url: https://github.com/embedded-pro/embedded-devcontainer/sessions/c48a1a5c-d49d-4db9-af7b-886392f5bce6 Co-authored-by: gabrielfrasantos <21131318+gabrielfrasantos@users.noreply.github.com> --- .devcontainer/cpp-test/devcontainer.json | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/RELEASE_TEMPLATE.md | 2 +- .github/copilot-instructions.md | 19 ++++++------------- .github/workflows/build-push-test.yml | 2 +- .github/workflows/update-dependencies.yml | 2 +- .github/workflows/vulnerability-scan.yml | 2 +- README.md | 2 +- templates/cpp/.devcontainer/Dockerfile | 2 +- 9 files changed, 14 insertions(+), 21 deletions(-) diff --git a/.devcontainer/cpp-test/devcontainer.json b/.devcontainer/cpp-test/devcontainer.json index 8863c977..a499cfcd 100644 --- a/.devcontainer/cpp-test/devcontainer.json +++ b/.devcontainer/cpp-test/devcontainer.json @@ -1,5 +1,5 @@ { - "image": "gabrielfrasantos/embedded-devcontainer:${localEnv:IMAGE_VERSION}", + "image": "gabrielfrasantos/embedded-devcontainer-cpp:${localEnv:IMAGE_VERSION}", "workspaceFolder": "/workspaces/embedded-devcontainer/test/cpp/workspace", "containerEnv": { "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/ca-certificates.crt" diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 3229c353..0344d864 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,7 +24,7 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Environment (please complete the following information):** -- Container: [e.g. gabrielfrasantos/embedded-devcontainer:1.0.0] +- Container: [e.g. gabrielfrasantos/embedded-devcontainer-cpp:1.0.0] - OS: [e.g. Windows, Linux, OSX] - Architecture: [e.g. x86_64, Apple M2] - Docker Version: [e.g. Docker Desktop 4.25.2] diff --git a/.github/RELEASE_TEMPLATE.md b/.github/RELEASE_TEMPLATE.md index 32f7f08b..5c47e330 100644 --- a/.github/RELEASE_TEMPLATE.md +++ b/.github/RELEASE_TEMPLATE.md @@ -11,6 +11,6 @@ | Container | Full identifier | |----------------------------|---------------------------------------------------------------------------------------------------------------------------| | embedded-devcontainer-base | gabrielfrasantos/embedded-devcontainer-base:{{ embedded-devcontainer-base-version }}@{{ embedded-devcontainer-base-sha }} | -| embedded-devcontainer-cpp | gabrielfrasantos/embedded-devcontainer:{{ embedded-devcontainer-cpp-version }}@{{ embedded-devcontainer-cpp-sha }} | +| embedded-devcontainer-cpp | gabrielfrasantos/embedded-devcontainer-cpp:{{ embedded-devcontainer-cpp-version }}@{{ embedded-devcontainer-cpp-sha }} | | embedded-devcontainer-rust | gabrielfrasantos/embedded-devcontainer-rust:{{ embedded-devcontainer-rust-version }}@{{ embedded-devcontainer-rust-sha }} | diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 51ccae42..64fa5ab1 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -37,13 +37,9 @@ upstream sync must re-apply the deltas listed below. | Flavor | Upstream image | This fork | | ------ | ----------------------------------------------------------- | --------------------------------------------------------------- | | base | `ghcr.io/philips-software/amp-devcontainer-base` | `docker.io/gabrielfrasantos/embedded-devcontainer-base` | -| cpp | `ghcr.io/philips-software/amp-devcontainer-cpp` | `docker.io/gabrielfrasantos/embedded-devcontainer` (no suffix) | +| cpp | `ghcr.io/philips-software/amp-devcontainer-cpp` | `docker.io/gabrielfrasantos/embedded-devcontainer-cpp` | | rust | `ghcr.io/philips-software/amp-devcontainer-rust` | `docker.io/gabrielfrasantos/embedded-devcontainer-rust` | -Note: the `cpp` flavor is intentionally the "default" image (no `-cpp` suffix) -to preserve the historical Docker Hub repo name. The base and rust images keep -their `-base` / `-rust` suffix. - ### Workflow deltas (vs upstream) - `build-push-test.yml` overrides `registry: docker.io` and pins each flavor's @@ -52,11 +48,9 @@ their `-base` / `-rust` suffix. reusable `wc-build-push-test.yml`. - `continuous-integration.yml` and `release-build.yml` forward the same two Docker Hub secrets. -- `vulnerability-scan.yml` scans the Docker Hub images (with the cpp - no-suffix special case) and uses the correct per-flavor Dockerfile path +- `vulnerability-scan.yml` scans the Docker Hub images and uses the correct per-flavor Dockerfile path `.devcontainer/${{ matrix.flavor }}/Dockerfile`. -- `update-dependencies.yml` runs in the published Docker Hub image at the - `:latest` tag (same no-suffix cpp special case). +- `update-dependencies.yml` runs in the published Docker Hub image at the `:latest` tag. - `image-cleanup.yml` / `pr-image-cleanup.yml` still target ghcr.io via `dataaxiom/ghcr-cleanup-action`. They are effectively no-ops in this fork (we publish to Docker Hub). Leave them or remove them — do not point them @@ -72,12 +66,11 @@ Run a global rebrand on every upstream sync. The mapping is: - `philips-software/amp-devcontainer` → `embedded-pro/embedded-devcontainer` - `amp-devcontainer-base` / `-rust` → `embedded-devcontainer-base` / `-rust` -- `amp-devcontainer-cpp` → `embedded-devcontainer-cpp` (text) **but** - `gabrielfrasantos/embedded-devcontainer` (image, no suffix) +- `amp-devcontainer-cpp` → `embedded-devcontainer-cpp` (text and image) - `amp-devcontainer` (bare) → `embedded-devcontainer` - `/workspaces/amp-devcontainer` → `/workspaces/embedded-devcontainer` - `https://github.com/orgs/philips-software/packages/container/package/amp-devcontainer-X` - → `https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer[-X]` + → `https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer-X` **Preserve:** @@ -93,7 +86,7 @@ For CI to actually publish, the following must be set in this fork: - Repository secrets `DOCKER_REGISTRY_USERNAME` and `DOCKER_REGISTRY_PASSWORD` (Docker Hub PAT for the `gabrielfrasantos` account). -- The Docker Hub repos `gabrielfrasantos/embedded-devcontainer`, +- The Docker Hub repos `gabrielfrasantos/embedded-devcontainer-cpp`, `gabrielfrasantos/embedded-devcontainer-base`, and `gabrielfrasantos/embedded-devcontainer-rust` must exist. diff --git a/.github/workflows/build-push-test.yml b/.github/workflows/build-push-test.yml index bdc9081a..35988261 100644 --- a/.github/workflows/build-push-test.yml +++ b/.github/workflows/build-push-test.yml @@ -67,7 +67,7 @@ jobs: devcontainer-metadata-file: .devcontainer/${{ matrix.flavor }}/devcontainer-metadata.json dockerfile: .devcontainer/${{ matrix.flavor }}/Dockerfile enable-edge-tag: ${{ github.event_name == 'merge_group' }} - image-name: ${{ matrix.flavor == 'cpp' && 'gabrielfrasantos/embedded-devcontainer' || format('gabrielfrasantos/embedded-devcontainer-{0}', matrix.flavor) }} + image-name: gabrielfrasantos/embedded-devcontainer-${{ matrix.flavor }} registry: docker.io integration-test-file: test/${{ matrix.flavor }}/integration-tests.bats integration-test-podman: true diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index e4c9fa7f..b42154a6 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -19,7 +19,7 @@ jobs: flavor: ["base", "cpp", "rust"] # Using our own container is required since we need all package sources # set-up correctly. - container: ${{ matrix.flavor == 'cpp' && 'gabrielfrasantos/embedded-devcontainer' || format('gabrielfrasantos/embedded-devcontainer-{0}', matrix.flavor) }}:latest + container: gabrielfrasantos/embedded-devcontainer-${{ matrix.flavor }}:latest permissions: contents: write # is needed by peter-evans/create-pull-request to create branches and push commits pull-requests: write # is needed by peter-evans/create-pull-request to create a PR diff --git a/.github/workflows/vulnerability-scan.yml b/.github/workflows/vulnerability-scan.yml index 20cf2143..f38b4496 100644 --- a/.github/workflows/vulnerability-scan.yml +++ b/.github/workflows/vulnerability-scan.yml @@ -24,7 +24,7 @@ jobs: - uses: crazy-max/ghaction-container-scan@a0a3900b79d158c85ccf034e5368fae620a9233a # v4.0.0 id: scan with: - image: ${{ matrix.flavor == 'cpp' && 'gabrielfrasantos/embedded-devcontainer' || format('gabrielfrasantos/embedded-devcontainer-{0}', matrix.flavor) }}:latest + image: gabrielfrasantos/embedded-devcontainer-${{ matrix.flavor }}:latest dockerfile: .devcontainer/${{ matrix.flavor }}/Dockerfile - uses: github/codeql-action/upload-sarif@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3 if: steps.scan.outputs.sarif != '' diff --git a/README.md b/README.md index a1e24a71..f5a7d71a 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ This repository is under active development; see [pulse](https://github.com/embe The following devcontainers are published towards the [GitHub Container Registry](https://ghcr.io/): - [embedded-devcontainer-base](https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer-base); shared base image used by the other flavors -- [embedded-devcontainer-cpp](https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer); the C++ container +- [embedded-devcontainer-cpp](https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer-cpp); the C++ container - [embedded-devcontainer-rust](https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer-rust); the Rust container All containers include a full [Visual Studio Code](https://code.visualstudio.com/) configuration that is compatible with [GitHub Codespaces](https://github.com/features/codespaces). diff --git a/templates/cpp/.devcontainer/Dockerfile b/templates/cpp/.devcontainer/Dockerfile index 2be99dca..c7508475 100644 --- a/templates/cpp/.devcontainer/Dockerfile +++ b/templates/cpp/.devcontainer/Dockerfile @@ -1,3 +1,3 @@ -FROM gabrielfrasantos/embedded-devcontainer:${templateOption:imageVersion} +FROM gabrielfrasantos/embedded-devcontainer-cpp:${templateOption:imageVersion} HEALTHCHECK NONE