Skip to content

Commit 3c55e8a

Browse files
fix: fix cpp container (#20)
* fix cpp container * replace cleanup action * typo fixed
1 parent 932b64f commit 3c55e8a

16 files changed

Lines changed: 69 additions & 93 deletions

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<!-- We follow conventional commit-style PR titles and kebab-case branch names -->
1212

13-
- [ ] I have followed the [contribution guidelines](https://github.com/philips-software/amp-devcontainer/blob/main/.github/CONTRIBUTING.md) for this repository
13+
- [ ] I have followed the [contribution guidelines](https://github.com/embedded-pro/embedded-devcontainer/blob/main/.github/CONTRIBUTING.md) for this repository
1414
- [ ] I have added tests for new behavior, and have not broken any existing tests
1515
- [ ] I have added or updated relevant documentation
1616
- [ ] I have verified that all added components are accounted for in the SBOM

.github/RELEASE_TEMPLATE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010

1111
| Container | Full identifier |
1212
|----------------------------|--------------------------------------------------------------------------------------------------------------------|
13-
| embedded-devcontainer | gabrielfrasantos/embedded-devcontainer-cpp:{{ amp-devcontainer-cpp-version }}@{{ amp-devcontainer-cpp-sha }} |
14-
| embedded-devcontainer-rust | gabrielfrasantos/embedded-devcontainer-rust:{{ amp-devcontainer-rust-version }}@{{ amp-devcontainer-rust-sha }} |
13+
| embedded-devcontainer | gabrielfrasantos/embedded-devcontainer:{{ embedded-devcontainer-cpp-version }}@{{ embedded-devcontainer-cpp-sha }} |
14+
| embedded-devcontainer-rust | gabrielfrasantos/embedded-devcontainer-rust:{{ embedded-devcontainer-rust-version }}@{{ embedded-devcontainer-rust-sha }} |
1515

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ The key features of this project are described in the top-level README.md, read
1717

1818
## Folder Structure
1919

20-
The folder structure of amp-devcontainer is described below, adhere to the existing folder structure.
20+
The folder structure of embedded-devcontainer is described below, adhere to the existing folder structure.
2121

2222
- `/.devcontainer`: Contains the source code for the container flavors with a top-level devcontainer.json file to enable `clone in container volume` of this repository.
2323
- `/.devcontainer/[flavor]`: Contains the Dockerfile and configuration for each container flavor (e.g., `cpp`, `rust`).

.github/workflows/pr-image-cleanup.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,23 @@ jobs:
1212
runs-on: ubuntu-latest
1313
permissions:
1414
packages: write
15+
strategy:
16+
matrix:
17+
repo:
18+
- embedded-devcontainer
19+
- embedded-devcontainer-cpp
20+
- embedded-devcontainer-rust
1521
steps:
1622
- uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
1723
with:
1824
disable-sudo: true
1925
egress-policy: audit
20-
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
26+
- uses: nstwfdev/docker-registry-image-cleaner@727b7dba7dcdbc39aadb1b22f2c3a0a717fedbd3 # v1.0.1
2127
with:
22-
username: ${{ vars.DOCKERHUB_USERNAME }}
23-
password: ${{ secrets.DOCKERHUB_TOKEN }}
24-
- uses: dataaxiom/ghcr-cleanup-action@cd0cdb900b5dbf3a6f2cc869f0dbb0b8211f50c4 # v1.0.16
25-
with:
26-
delete-tags: pr-${{ github.event.pull_request.number }}
27-
packages: amp-devcontainer,amp-devcontainer-cpp,amp-devcontainer-rust
28+
dockerhub_repo: ${{ matrix.repo }}
29+
dockerhub_username: ${{ vars.DOCKERHUB_USERNAME }}
30+
dockerhub_password: ${{ secrets.DOCKERHUB_TOKEN }}
31+
image_prefix: pr-${{ github.event.pull_request.number }}
2832
cleanup-cache:
2933
runs-on: ubuntu-latest
3034
permissions:

.github/workflows/release-build.yml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,7 @@ jobs:
7575
id: inspect-manifest
7676
run: |
7777
set -Eeuo pipefail
78-
if [ "${CONTAINER_FLAVOR}" = "cpp" ]; then
79-
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}:${REF_NAME}"
80-
else
81-
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}-${CONTAINER_FLAVOR}:${REF_NAME}"
82-
fi
78+
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}-${CONTAINER_FLAVOR}:${REF_NAME}"
8379
output=$(docker buildx imagetools inspect "${IMAGE_NAME}" --format '{{json .}}')
8480
echo "digest=$(echo "$output" | jq -r '.manifest.digest // .manifests[0].digest')" >> "$GITHUB_OUTPUT"
8581
env:
@@ -89,11 +85,7 @@ jobs:
8985
run: |
9086
set -Eeuo pipefail
9187
FORMATTED_DIGEST=${DIGEST//:/_}
92-
if [ "${CONTAINER_FLAVOR}" = "cpp" ]; then
93-
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}"
94-
else
95-
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}-${CONTAINER_FLAVOR}"
96-
fi
88+
IMAGE_NAME="${DOCKERHUB_USERNAME}/${REPOSITORY_NAME}-${CONTAINER_FLAVOR}"
9789
gh attestation verify --repo "${GH_REPO}" "oci://${IMAGE_NAME}@${DIGEST}" --format json --jq '.[] | .attestation.bundle.dsseEnvelope | select(.payloadType == "application/vnd.in-toto+json").payload' | base64 -d | jq . > "${REPOSITORY_OWNER}-${REPOSITORY_NAME}-${CONTAINER_FLAVOR}_${FORMATTED_DIGEST}.intoto.jsonl"
9890
gh release upload "${REF_NAME}" ./*.intoto.jsonl
9991
env:
@@ -117,8 +109,8 @@ jobs:
117109
run: |
118110
set -Eeuo pipefail
119111
UPDATED_NOTES=$(gh release view "${REF_NAME}" --json body -q '.body')
120-
UPDATED_NOTES=${UPDATED_NOTES//"{{ amp-devcontainer-${CONTAINER_FLAVOR}-version }}"/"${REF_NAME}"}
121-
UPDATED_NOTES=${UPDATED_NOTES//"{{ amp-devcontainer-${CONTAINER_FLAVOR}-sha }}"/"${DIGEST}"}
112+
UPDATED_NOTES=${UPDATED_NOTES//"{{ embedded-devcontainer-${CONTAINER_FLAVOR}-version }}"/"${REF_NAME}"}
113+
UPDATED_NOTES=${UPDATED_NOTES//"{{ embedded-devcontainer-${CONTAINER_FLAVOR}-sha }}"/"${DIGEST}"}
122114
gh release edit "${REF_NAME}" --notes "${UPDATED_NOTES}"
123115
env:
124116
DIGEST: ${{ steps.inspect-manifest.outputs.digest }}

.github/workflows/vulnerability-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- uses: crazy-max/ghaction-container-scan@4d8e0acba576e46016cbd65b9ecfc604e85e3990 # v3.2.0
2222
id: scan
2323
with:
24-
image: ${{ matrix.flavor == 'cpp' && format('{0}/embedded-devcontainer:latest', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}:latest', vars.DOCKERHUB_USERNAME, matrix.flavor) }}
24+
image: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ matrix.flavor }}:latest
2525
dockerfile: .devcontainer/Dockerfile
2626
- uses: github/codeql-action/upload-sarif@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
2727
if: steps.scan.outputs.sarif != ''

.github/workflows/wc-build-push.yml

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ jobs:
4949
DOCKER_METADATA_SET_OUTPUT_ENV: false
5050
id: metadata
5151
with:
52-
images: |
53-
${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
52+
images: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
5453
# Generate image LABEL for devcontainer.metadata
5554
# the sed expression is a workaround for quotes being eaten in arrays (e.g. ["x", "y", "z"] -> ["x",y,"z"])
5655
- run: echo "metadata=$(jq -cj '[.]' ".devcontainer/${CONTAINER_FLAVOR}/devcontainer-metadata-vscode.json" | sed 's/,"/, "/g')" >> "$GITHUB_OUTPUT"
@@ -66,8 +65,7 @@ jobs:
6665
with:
6766
file: .devcontainer/${{ inputs.flavor }}/Dockerfile
6867
push: true
69-
tags: |
70-
${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
68+
tags: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
7169
labels: |
7270
${{ steps.metadata.outputs.labels }}
7371
devcontainer.metadata=${{ steps.devcontainer-metadata.outputs.metadata }}
@@ -125,8 +123,7 @@ jobs:
125123
DOCKER_METADATA_ANNOTATIONS_LEVELS: index
126124
DOCKER_METADATA_SET_OUTPUT_ENV: false
127125
with:
128-
images: |
129-
${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
126+
images: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
130127
# Generate Docker tags based on the following events/attributes.
131128
# To prevent unnecessary image builds we simulate the `type=edge` tag
132129
# with `type=raw,value=edge,enable=...` which only enables the tag
@@ -143,11 +140,7 @@ jobs:
143140
run: |
144141
set -Eeuo pipefail
145142
# shellcheck disable=SC2046
146-
if [ "${{ inputs.flavor }}" = "cpp" ]; then
147-
IMAGE_BASE="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer"
148-
else
149-
IMAGE_BASE="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}"
150-
fi
143+
IMAGE_BASE="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}"
151144
# shellcheck disable=SC2046
152145
docker buildx imagetools create \
153146
$(echo '${{ steps.metadata.outputs.json }}' | jq -r '.tags | map("--tag " + .) | join(" ")') \
@@ -156,11 +149,7 @@ jobs:
156149
id: inspect-manifest
157150
run: |
158151
set -Eeuo pipefail
159-
if [ "${{ inputs.flavor }}" = "cpp" ]; then
160-
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer:${{ steps.metadata.outputs.version }}"
161-
else
162-
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}"
163-
fi
152+
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}"
164153
output=$(docker buildx imagetools inspect "${IMAGE_NAME}" --format '{{json .}}')
165154
echo "digest=$(echo "$output" | jq -r '.manifest.digest // .manifests[0].digest')" >> "$GITHUB_OUTPUT"
166155
env:
@@ -172,8 +161,8 @@ jobs:
172161
chmod +x diffoci
173162
./diffoci diff --semantic --report-file=container-diff.json "${FROM_CONTAINER}" "${TO_CONTAINER}" || true
174163
env:
175-
FROM_CONTAINER: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer:edge', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}:edge', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
176-
TO_CONTAINER: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer:{1}', vars.DOCKERHUB_USERNAME, steps.metadata.outputs.version) || format('{0}/embedded-devcontainer-{1}:{2}', vars.DOCKERHUB_USERNAME, inputs.flavor, steps.metadata.outputs.version) }}
164+
FROM_CONTAINER: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:edge
165+
TO_CONTAINER: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
177166
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
178167
with:
179168
name: container-diff-${{ inputs.flavor }}
@@ -182,31 +171,27 @@ jobs:
182171
- uses: ./.github/actions/container-size-diff
183172
id: container-size-diff
184173
with:
185-
from-container: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer:edge', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}:edge', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
186-
to-container: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer:{1}', vars.DOCKERHUB_USERNAME, steps.metadata.outputs.version) || format('{0}/embedded-devcontainer-{1}:{2}', vars.DOCKERHUB_USERNAME, inputs.flavor, steps.metadata.outputs.version) }}
174+
from-container: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:edge
175+
to-container: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
187176
- uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
188177
with:
189178
header: container-size-diff-${{ inputs.flavor }}
190179
message: |
191180
${{ steps.container-size-diff.outputs.size-diff-markdown }}
192181
- uses: anchore/sbom-action@f8bdd1d8ac5e901a77a92f111440fdb1b593736b # v0.20.6
193182
with:
194-
image: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer@{1}', vars.DOCKERHUB_USERNAME, steps.inspect-manifest.outputs.digest) || format('{0}/embedded-devcontainer-{1}@{2}', vars.DOCKERHUB_USERNAME, inputs.flavor, steps.inspect-manifest.outputs.digest) }}
183+
image: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}@${{ steps.inspect-manifest.outputs.digest }}
195184
dependency-snapshot: true
196185
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
197186
with:
198-
subject-name: ${{ inputs.flavor == 'cpp' && format('{0}/embedded-devcontainer', vars.DOCKERHUB_USERNAME) || format('{0}/embedded-devcontainer-{1}', vars.DOCKERHUB_USERNAME, inputs.flavor) }}
187+
subject-name: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
199188
subject-digest: ${{ steps.inspect-manifest.outputs.digest }}
200189
show-summary: false
201190
push-to-registry: false
202191
- name: Verify attestation
203192
run: |
204193
set -Eeuo pipefail
205-
if [ "${{ inputs.flavor }}" = "cpp" ]; then
206-
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer@${DIGEST}"
207-
else
208-
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}@${DIGEST}"
209-
fi
194+
IMAGE_NAME="${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}@${DIGEST}"
210195
gh attestation verify --repo "${GH_REPO}" "oci://${IMAGE_NAME}"
211196
env:
212197
DIGEST: ${{ steps.inspect-manifest.outputs.digest }}

.github/workflows/wc-integration-test.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,7 @@ jobs:
3737
with:
3838
path: ${{ runner.temp }}/digests-${{ inputs.flavor }}-${{ steps.runner-arch.outputs.arch }}
3939
pattern: digests-${{ inputs.flavor }}-${{ steps.runner-arch.outputs.arch }}
40-
- run: |
41-
if [ "${CONTAINER_FLAVOR}" = "cpp" ]; then
42-
echo "container=$(printf "${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer@sha256:%s " *)" >> "$GITHUB_OUTPUT"
43-
else
44-
echo "container=$(printf "${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${CONTAINER_FLAVOR}@sha256:%s " *)" >> "$GITHUB_OUTPUT"
45-
fi
40+
- run: echo "container=$(printf "${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${CONTAINER_FLAVOR}@sha256:%s " *)" >> "$GITHUB_OUTPUT"
4641
working-directory: ${{ runner.temp }}/digests-${{ inputs.flavor }}-${{ steps.runner-arch.outputs.arch }}
4742
env:
4843
GH_REPO: ${{ github.repository }}

docs/templates/software-requirements-specification.md.j2

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: "Software requirements specification for amp-devcontainer"
2+
title: "Software requirements specification for embedded-devcontainer"
33
author: ["@rjaegers"]
44
colorlinks: true
55
date: "October-2025"
6-
keywords: [Software, Requirements, SRS, amp-devcontainer]
6+
keywords: [Software, Requirements, SRS, embedded-devcontainer]
77
lang: "en"
88
titlepage: true
99
titlepage-color: "0B5ED7"
@@ -18,15 +18,15 @@ toc-own-page: true
1818

1919
## Purpose
2020

21-
This document describes the software system requirements for amp-devcontainer.
21+
This document describes the software system requirements for embedded-devcontainer.
2222

2323
## Definitions of key words
2424

2525
The key words *MUST*, *MUST NOT*, *REQUIRED*, *SHALL*, *SHALL NOT*, *SHOULD*, *SHOULD NOT*, *RECOMMENDED*, *MAY*, and *OPTIONAL* in this document are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).
2626

2727
## Abstract
2828

29-
amp-devcontainer is a set of [devcontainers](https://containers.dev/) tailored towards modern, embedded, software development.
29+
embedded-devcontainer is a set of [devcontainers](https://containers.dev/) tailored towards modern, embedded, software development.
3030

3131
The containers may be used both for local development and continuous integration (ci).
3232

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)