Skip to content

Commit 26078ad

Browse files
committed
restructure folder layout, prefix debian version, alter release workflow accordingly, dropped "on push" tag containing the DATE and SHA, update readme
1 parent 2c4a7bb commit 26078ad

File tree

8 files changed

+13
-33
lines changed

8 files changed

+13
-33
lines changed

.devcontainer/devcontainer.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
{
33
"name": "C++ DevBox",
44
"build": {
5-
// The repository contains two images: bookworm (default) and trixie:
6-
// "dockerfile": "./debian/bookworm/Dockerfile",
7-
"dockerfile": "./debian/trixie/Dockerfile",
5+
// The repository contains the following images:
6+
// "dockerfile": "./debian/12-bookworm/Dockerfile",
7+
// "dockerfile": "./debian/13-trixie/Dockerfile", (default)
8+
// "dockerfile": "./debian/14-forky/Dockerfile",
9+
// "dockerfile": "./debian/sid-unstable/Dockerfile",
10+
"dockerfile": "./debian/13-trixie/Dockerfile",
811
// Sets the run context to this .devcontainer folder:
912
"context": "."//,
1013
// There are multiple build stages:

.github/workflows/release.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@ jobs:
4646
fail-fast: false
4747
matrix:
4848
config:
49-
- { platform: "linux/amd64", debian_codename: "bookworm", debian_version: "12"}
50-
- { platform: "linux/amd64", debian_codename: "trixie", debian_version: "13" }
49+
- { platform: "linux/amd64", debian_version: "12", debian_codename: "bookworm"}
50+
- { platform: "linux/amd64", debian_version: "13", debian_codename: "trixie" }
51+
- { platform: "linux/amd64", debian_version: "14", debian_codename: "forky" }
52+
- { platform: "linux/amd64", debian_version: "sid", debian_codename: "unstable" }
5153

5254
steps:
5355
- name: ✂️ Free Disk Space
@@ -62,7 +64,7 @@ jobs:
6264
- name: 🔍 Run hadolint
6365
uses: hadolint/[email protected] # https://github.com/hadolint/hadolint-action
6466
with:
65-
dockerfile: .devcontainer/debian/${{ matrix.config.debian_codename }}/Dockerfile
67+
dockerfile: .devcontainer/debian/${{ matrix.config.debian_version }}-${{ matrix.config.debian_codename }}/Dockerfile
6668
no-fail: true
6769

6870
- name: 🔒 Login to DockerHub Container Registry
@@ -91,7 +93,6 @@ jobs:
9193
# cpp-devbox:{debian_codename}-{{date}} # only on scheduled builds
9294
# cpp-devbox:{debian_codename}-{{version}} # only on git tag
9395
# cpp-devbox:{debian_codename}-{{major}}.{{minor}} # only on git tag
94-
# cpp-devbox:{debian_codename}-{{date}}-sha-{{sha}} # only on push, not when tagging
9596
# cpp-devbox:{debian_codename}-latest # always
9697
- name: ✏ Setup Docker Metadata ➔ Stage cpp-devbox-base
9798
id: metadata-base
@@ -107,13 +108,11 @@ jobs:
107108
type=schedule,pattern={{ date 'YYYYMMDD' }}
108109
type=semver,pattern={{ version }}
109110
type=semver,pattern={{ major }}.{{ minor }}
110-
type=raw,value={{ date 'YYYYMMDD' }}-sha-{{ sha }},enabled=${{ github.event_name == 'push' }}
111111
type=raw,value=latest
112112
113113
# cpp-devbox:{debian_codename}-with-vulkansdk-{{date}} # only on scheduled builds
114114
# cpp-devbox:{debian_codename}-with-vulkansdk-{{version}} # only on git tag
115115
# cpp-devbox:{debian_codename}-with-vulkansdk-{{major}}.{{minor}} # only on git tag
116-
# cpp-devbox:{debian_codename}-with-vulkansdk-{{date}}-sha-{{sha}} # only on push, not when tagging
117116
# cpp-devbox:{debian_codename}-with-vulkansdk-latest # always
118117
- name: ✏ Setup Docker Metadata ➔ Stage cpp-devbox-base-with-vulkansdk
119118
id: metadata-base-with-vulkansdk
@@ -129,7 +128,6 @@ jobs:
129128
type=schedule,pattern={{ date 'YYYYMMDD' }}
130129
type=semver,pattern={{ version }}
131130
type=semver,pattern={{ major }}.{{ minor }}
132-
type=raw,value={{ date 'YYYYMMDD' }}-sha-{{ sha }},enabled=${{ github.event_name == 'push' }}
133131
type=raw,value=latest
134132
135133
- name: ✏ Create info.json
@@ -150,7 +148,7 @@ jobs:
150148
uses: docker/build-push-action@v6 # https://github.com/docker/build-push-action
151149
with:
152150
context: .
153-
file: .devcontainer/debian/${{ matrix.config.debian_codename }}/Dockerfile
151+
file: .devcontainer/debian/${{ matrix.config.debian_version }}-${{ matrix.config.debian_codename }}/Dockerfile
154152
target: cpp-devbox-base
155153
platforms: ${{ matrix.config.platform }}
156154
tags: ${{ steps.metadata-base.outputs.tags }}
@@ -166,7 +164,7 @@ jobs:
166164
uses: docker/build-push-action@v6 # https://github.com/docker/build-push-action
167165
with:
168166
context: .
169-
file: .devcontainer/debian/${{ matrix.config.debian_codename }}/Dockerfile
167+
file: .devcontainer/debian/${{ matrix.config.debian_version }}-${{ matrix.config.debian_codename }}/Dockerfile
170168
target: cpp-devbox-with-vulkansdk
171169
platforms: ${{ matrix.config.platform }}
172170
tags: ${{ steps.metadata-base-with-vulkansdk.outputs.tags }}

README.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,6 @@ You might use this container image in the `.devcontainer/devcontainer.json` file
173173

174174
#### Developer Notes
175175

176-
### Fetching the bleeding-edge prebuilt container images
177-
178-
The bleeding-edge container versions are build using Debian 13 - Trixie.
179-
180-
The Trixie base image ships GCC 13.2 and LLVM 16 by default.
181-
For GCC its also the latest available upstream version.
182-
For LLVM we installed the latest available upstream version: LLVM 18.
183-
184-
These images are unstable because:
185-
186-
- a) the Debian base image Trixie itself unstable,
187-
- b) LLVM 18 has package requirements, which can not be resolved with Trixie packages alone, so several Debian SID packages are required.
188-
189-
190176
### Versioning Scheme for Images
191177

192178
The container images use the following versioning scheme.
@@ -200,13 +186,6 @@ The following container tags are created for scheduled builds:
200186
- `ghcr.io/jakoch/cpp-devbox:{debian_codename}-{date}}`
201187
- `ghcr.io/jakoch/cpp-devbox:{debian_codename}-with-vulkansdk-{{date}}`
202188

203-
#### For git push
204-
205-
The following container tags are created only on push, not when tagging:
206-
207-
- `ghcr.io/jakoch/cpp-devbox:{debian_codename}-with-vulkansdk-{{date}}-sha-{{sha}}`
208-
- `ghcr.io/jakoch/cpp-devbox:{debian_codename}-{{date}}-sha-{{sha}}`
209-
210189
#### For git tag
211190

212191
The following container tags are created for git tags:

0 commit comments

Comments
 (0)