Skip to content

Commit

Permalink
Images: Support debian 12 (bookworm) (devcontainers#608)
Browse files Browse the repository at this point in the history
* Cpp, Java, Java-8 : Support debian 12 (bookworm)

* Fix test

* js-node, php, rust

* reverts php: tag available, but image does not exist yet

* fix test

* Update push-dev.yml

* Update push.yml
  • Loading branch information
samruddhikhandale authored Jun 14, 2023
1 parent f548125 commit 53828b8
Show file tree
Hide file tree
Showing 22 changed files with 124 additions and 57 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/push-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
if: "github.ref == 'refs/heads/main'"
strategy:
matrix:
page: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]
page-total: [50]
page: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58]
page-total: [58]
fail-fast: false
runs-on: devcontainer-image-builder-ubuntu
steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
if: ${{ github.event.base_ref == 'refs/heads/main' }}
strategy:
matrix:
page: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50]
page-total: [50]
page: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58]
page-total: [58]
fail-fast: false
runs-on: devcontainer-image-builder-ubuntu
steps:
Expand Down
6 changes: 3 additions & 3 deletions src/cpp/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 22.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04
ARG VARIANT=debian-11
FROM mcr.microsoft.com/devcontainers/base:0-${VARIANT}
# [Choice] Debian / Ubuntu version (use Debian 12, Debian 11, Ubuntu 22.04 on local arm64/Apple Silicon): debian-12, debian-11, debian-10, ubuntu-22.04, ubuntu-20.04
ARG VARIANT=debian-12
FROM mcr.microsoft.com/devcontainers/base:${VARIANT}
USER root

# Install needed packages. Use a separate RUN statement to add your own dependencies.
Expand Down
5 changes: 3 additions & 2 deletions src/cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published images* | mcr.microsoft.com/devcontainers/cpp |
| *Available image variants* | debian-11, debian-10, ubuntu-22.04, ubuntu-20.04 ([full list](https://mcr.microsoft.com/v2/devcontainers/cpp/tags/list)) |
| *Published image architecture(s)* | x86-64, aarch64/arm64 for `debian-11`,and `ubuntu-22.04` variants |
| *Available image variants* | debian-12, debian-11, debian-10, ubuntu-22.04, ubuntu-20.04 ([full list](https://mcr.microsoft.com/v2/devcontainers/cpp/tags/list)) |
| *Published image architecture(s)* | x86-64, aarch64/arm64 for `debian-12`, `debian-11`,and `ubuntu-22.04` variants |
| *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian, Ubuntu |
| *Languages, platforms* | C++ |
Expand All @@ -23,6 +23,7 @@ You can directly reference pre-built versions of `Dockerfile` by using the `imag

- `mcr.microsoft.com/devcontainers/cpp` (latest Debian GA)
- `mcr.microsoft.com/devcontainers/cpp:debian` (latest Debian GA)
- `mcr.microsoft.com/devcontainers/cpp:debian-12` (or `bookworm`)
- `mcr.microsoft.com/devcontainers/cpp:debian-11` (or `bullseye`)
- `mcr.microsoft.com/devcontainers/cpp:debian-10` (or `buster`)
- `mcr.microsoft.com/devcontainers/cpp:ubuntu` (latest Ubuntu LTS)
Expand Down
19 changes: 13 additions & 6 deletions src/cpp/manifest.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
{
"version": "0.206.9",
"variants": [
"bookworm",
"bullseye",
"buster",
"jammy",
"focal"
],
"build": {
"latest": "bullseye",
"latest": "bookworm",
"parent": {
"bookworm": "base-debian",
"bullseye": "base-debian",
"buster": "base-debian",
"jammy": "base-ubuntu",
"focal": "base-ubuntu"
},
"rootDistro": "debian",
"architectures": {
"bookworm": [
"linux/amd64",
"linux/arm64"
],
"bullseye": [
"linux/amd64",
"linux/arm64"
Expand All @@ -35,10 +41,15 @@
"cpp:${VERSION}-${VARIANT}"
],
"variantTags": {
"bookworm": [
"cpp:${VERSION}-debian-12",
"cpp:${VERSION}-debian12",
"cpp:${VERSION}-debian",
"cpp:${VERSION}"
],
"bullseye": [
"cpp:${VERSION}-debian-11",
"cpp:${VERSION}-debian11",
"cpp:${VERSION}-debian",
"cpp:${VERSION}"
],
"buster": [
Expand All @@ -49,10 +60,6 @@
"cpp:${VERSION}-ubuntu-22.04",
"cpp:${VERSION}-ubuntu22.04"
],
"hirsute": [
"cpp:${VERSION}-ubuntu-21.04",
"cpp:${VERSION}-ubuntu21.04"
],
"focal": [
"cpp:${VERSION}-ubuntu-20.04",
"cpp:${VERSION}-ubuntu20.04",
Expand Down
2 changes: 1 addition & 1 deletion src/cpp/test-project/test-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ checkCommon()
libc6 \
libgcc1 \
libgssapi-krb5-2 \
liblttng-ust0 \
liblttng-ust1 \
libstdc++6 \
zlib1g \
locales \
Expand Down
4 changes: 2 additions & 2 deletions src/java-8/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
ARG VARIANT="bullseye"
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): bookworm, buster, bullseye
ARG VARIANT="bookworm"
FROM mcr.microsoft.com/devcontainers/base:${VARIANT}

# [Optional] Uncomment this section to install additional OS packages.
Expand Down
6 changes: 3 additions & 3 deletions src/java-8/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published images* | mcr.microsoft.com/devcontainers/java:8 |
| *Available image variants* | 8 / 8-buster, 8-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bullseye` variant |
| *Available image variants* | 8 / 8-bookworm, 8-buster, 8-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bullseye` and `bookworm` variants |
| *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian |
| *Languages, platforms* | Java |
Expand All @@ -23,7 +23,7 @@ See **[history](history)** for information on the contents of published images.
You can directly reference pre-built versions of `Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository.

- `mcr.microsoft.com/devcontainers/java:8` (or `8-bullseye`, `8-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:8` (or `8-bookworm`, `8-bullseye`, `8-buster` to pin to an OS version)

Refer to [this guide](https://containers.dev/guide/dockerfile) for more details.

Expand Down
10 changes: 9 additions & 1 deletion src/java-8/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"version": "1.0.18",
"variants": [
"bookworm",
"bullseye",
"buster"
],
Expand All @@ -9,6 +10,10 @@
"rootDistro": "debian",
"parent": "base-debian",
"architectures": {
"bookworm": [
"linux/amd64",
"linux/arm64"
],
"bullseye": [
"linux/amd64",
"linux/arm64"
Expand All @@ -21,8 +26,11 @@
"java:${VERSION}-8-${VARIANT}"
],
"variantTags": {
"buster": [
"bookworm": [
"java:${VERSION}-8",
"java:${VERSION}-8-jdk-bookworm"
],
"buster": [
"java:${VERSION}-8-jdk-buster"
],
"bullseye": [
Expand Down
2 changes: 1 addition & 1 deletion src/java-8/test-project/test-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ checkCommon()
libc6 \
libgcc1 \
libgssapi-krb5-2 \
liblttng-ust0 \
liblttng-ust1 \
libstdc++6 \
zlib1g \
locales \
Expand Down
2 changes: 1 addition & 1 deletion src/java/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This Dockerfile uses separate build arguments instead of VARIANT
ARG TARGET_JAVA_VERSION=11
ARG BASE_IMAGE_VERSION_CODENAME=bullseye
ARG BASE_IMAGE_VERSION_CODENAME=bookworm
FROM mcr.microsoft.com/devcontainers/base:${BASE_IMAGE_VERSION_CODENAME}

USER root
Expand Down
8 changes: 4 additions & 4 deletions src/java/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published images* | mcr.microsoft.com/devcontainers/java |
| *Available image variants* | 11 / 11-bullseye, 17 / 17-bullseye, 11-buster, 17-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bullseye` variants |
| *Available image variants* | 11 / 11-bookworm, 17 / 17-bookworm, 11-bullseye, 17-bullseye, 11-buster, 17-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bookworm`, and `bullseye` variants |
| *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian |
| *Languages, platforms* | Java |
Expand All @@ -22,8 +22,8 @@ See **[history](history)** for information on the contents of published images.
You can directly reference pre-built versions of `Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository.

- `mcr.microsoft.com/devcontainers/java` (latest)
- `mcr.microsoft.com/devcontainers/java:11` (or `11-bullseye`, `11-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:17` (or `17-bullseye`, `17-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:11` (or `17-bookworm`, `11-bullseye`, `11-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:17` (or `17-bookworm`, `17-bullseye`, `17-buster` to pin to an OS version)

Refer to [this guide](https://containers.dev/guide/dockerfile) for more details.

Expand Down
31 changes: 28 additions & 3 deletions src/java/manifest.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
{
"version": "0.205.25",
"variants": [
"17-bookworm",
"17-bullseye",
"17-buster",
"11-bookworm",
"11-bullseye",
"11-buster"
],
"build": {
"latest": "17-bullseye",
"latest": "17-bookworm",
"rootDistro": "debian",
"parent": "base-debian",
"idMismatch": "true",
"variantBuildArgs": {
"17-bookworm": {
"TARGET_JAVA_VERSION": "17",
"BASE_IMAGE_VERSION_CODENAME": "bookworm"
},
"11-bookworm": {
"TARGET_JAVA_VERSION": "11",
"BASE_IMAGE_VERSION_CODENAME": "bookworm"
},
"17-bullseye": {
"TARGET_JAVA_VERSION": "17",
"BASE_IMAGE_VERSION_CODENAME": "bullseye"
Expand All @@ -30,6 +40,14 @@
}
},
"architectures": {
"17-bookworm": [
"linux/amd64",
"linux/arm64"
],
"11-bookworm": [
"linux/amd64",
"linux/arm64"
],
"17-bullseye": [
"linux/amd64",
"linux/arm64"
Expand All @@ -49,13 +67,20 @@
"java:${VERSION}-${VARIANT}"
],
"variantTags": {
"17-bullseye": [
"17-bookworm": [
"java:${VERSION}-17",
"java:${VERSION}-17-jdk-bookworm",
"java:${VERSION}-bookworm"
],
"11-bookworm": [
"java:${VERSION}-11",
"java:${VERSION}-11-jdk-bookworm"
],
"17-bullseye": [
"java:${VERSION}-17-jdk-bullseye",
"java:${VERSION}-bullseye"
],
"11-bullseye": [
"java:${VERSION}-11",
"java:${VERSION}-11-jdk-bullseye"
],
"17-jdk-buster": [
Expand Down
2 changes: 1 addition & 1 deletion src/java/test-project/test-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ checkCommon()
libc6 \
libgcc1 \
libgssapi-krb5-2 \
liblttng-ust0 \
liblttng-ust1 \
libstdc++6 \
zlib1g \
locales \
Expand Down
4 changes: 2 additions & 2 deletions src/javascript-node/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 20, 18, 16, 20-bullseye, 18-bullseye, 16-bullseye, 20-buster, 18-buster, 16-buster
ARG VARIANT=20-bullseye
# [Choice] Node.js version (use -bookworm, and -bullseye variants on local arm64/Apple Silicon): 20, 18, 16, 20-bookworm, 18-bookworm, 16-bookworm 20-bullseye, 18-bullseye, 16-bullseye, 20-buster, 18-buster, 16-buster
ARG VARIANT=20-bookworm
FROM node:${VARIANT}

ARG USERNAME=node
Expand Down
10 changes: 5 additions & 5 deletions src/javascript-node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published image* | mcr.microsoft.com/devcontainers/javascript-node |
| *Available image variants* | 20 / 20-bullseye, 18 / 18-bullseye, 16 / 16-bullseye, 20-buster, 18-buster, 16-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/javascript-node/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bullseye` variants |
| *Available image variants* | 20 / 20-bookworm, 18 / 18-bookworm, 16 / 16-bookworm, 20-bullseye, 18-bullseye, 16-bullseye, 20-buster, 18-buster, 16-buster ([full list](https://mcr.microsoft.com/v2/devcontainers/javascript-node/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bookworm`, and `bullseye` variants |
| *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian |
| *Languages, platforms* | Node.js, JavaScript |
Expand All @@ -20,9 +20,9 @@
You can directly reference pre-built versions of `Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository.

- `mcr.microsoft.com/devcontainers/javascript-node` (latest)
- `mcr.microsoft.com/devcontainers/javascript-node:20` (or `20-bullseye`, `20-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/javascript-node:18` (or `18-bullseye`, `18-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/javascript-node:16` (or `16-bullseye`, `16-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/javascript-node:20` (or `20-bookworm`, `20-bullseye`, `20-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/javascript-node:18` (or `18-bookworm`, `18-bullseye`, `18-buster` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/javascript-node:16` (or `16-bookworm`, `16-bullseye`, `16-buster` to pin to an OS version)

Refer to [this guide](https://containers.dev/guide/dockerfile) for more details.

Expand Down
28 changes: 23 additions & 5 deletions src/javascript-node/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
{
"version": "0.205.2",
"variants": [
"20-bookworm",
"18-bookworm",
"16-bookworm",
"20-bullseye",
"18-bullseye",
"16-bullseye",
Expand All @@ -9,9 +12,21 @@
"16-buster"
],
"build": {
"latest": "20-bullseye",
"latest": "20-bookworm",
"rootDistro": "debian",
"architectures": {
"20-bookworm": [
"linux/amd64",
"linux/arm64"
],
"18-bookworm": [
"linux/amd64",
"linux/arm64"
],
"16-bookworm": [
"linux/amd64",
"linux/arm64"
],
"20-bullseye": [
"linux/amd64",
"linux/arm64"
Expand All @@ -38,16 +53,19 @@
"javascript-node:${VERSION}-${VARIANT}"
],
"variantTags": {
"20-bullseye": [
"20-bookworm": [
"javascript-node:${VERSION}-20",
"javascript-node:${VERSION}-bullseye"
"javascript-node:${VERSION}-bookworm"
],
"18-bullseye": [
"18-bookworm": [
"javascript-node:${VERSION}-18"
],
"16-bullseye": [
"16-bookworm": [
"javascript-node:${VERSION}-16"
],
"20-bullseye": [
"javascript-node:${VERSION}-bullseye"
],
"20-buster": [
"javascript-node:${VERSION}-buster"
]
Expand Down
2 changes: 1 addition & 1 deletion src/javascript-node/test-project/test-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ checkCommon()
libc6 \
libgcc1 \
libgssapi-krb5-2 \
liblttng-ust0 \
liblttng-ust1 \
libstdc++6 \
zlib1g \
locales \
Expand Down
4 changes: 2 additions & 2 deletions src/rust/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
ARG VARIANT="bullseye"
# [Choice] Debian OS version (use bookworm, or bullseye on local arm64/Apple Silicon): bookworm, buster, bullseye
ARG VARIANT="bookworm"
FROM rust:1-${VARIANT}

RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
Expand Down
Loading

0 comments on commit 53828b8

Please sign in to comment.