diff --git a/.obs/workflows.yml b/.obs/workflows.yml
index 1260894a9..3e1701d94 100644
--- a/.obs/workflows.yml
+++ b/.obs/workflows.yml
@@ -87,11 +87,11 @@ staging_build:
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
- branch_package:
source_project: home:defolos:BCI:CR:Tumbleweed
- source_package: openjdk-20-devel-image
+ source_package: openjdk-21-devel-image
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
- branch_package:
source_project: home:defolos:BCI:CR:Tumbleweed
- source_package: openjdk-20-image
+ source_package: openjdk-21-image
target_project: home:defolos:BCI:CR:Tumbleweed:Staging
- branch_package:
source_project: home:defolos:BCI:CR:Tumbleweed
@@ -235,10 +235,10 @@ refresh_devel_BCI:
package: openjdk-17-image
- trigger_services:
project: devel:BCI:Tumbleweed
- package: openjdk-20-devel-image
+ package: openjdk-21-devel-image
- trigger_services:
project: devel:BCI:Tumbleweed
- package: openjdk-20-image
+ package: openjdk-21-image
- trigger_services:
project: devel:BCI:Tumbleweed
package: php8-image
diff --git a/openjdk-21-devel-image/Dockerfile b/openjdk-21-devel-image/Dockerfile
new file mode 100644
index 000000000..03dfcb10b
--- /dev/null
+++ b/openjdk-21-devel-image/Dockerfile
@@ -0,0 +1,33 @@
+#!ExclusiveArch: aarch64 x86_64 ppc64le s390x
+# SPDX-License-Identifier: MIT
+#!BuildTag: opensuse/bci/openjdk-devel:21
+#!BuildTag: opensuse/bci/openjdk-devel:21-%RELEASE%
+
+FROM opensuse/bci/openjdk:21
+
+MAINTAINER openSUSE (https://www.opensuse.org/)
+
+# Define labels according to https://en.opensuse.org/Building_derived_containers
+# labelprefix=org.opensuse.bci.openjdk.devel
+LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI OpenJDK 21 development"
+LABEL org.opencontainers.image.description="OpenJDK 21 development container based on the openSUSE Tumbleweed Base Container Image."
+LABEL org.opencontainers.image.version="21"
+LABEL org.opencontainers.image.url="https://www.opensuse.org"
+LABEL org.opencontainers.image.created="%BUILDTIME%"
+LABEL org.opencontainers.image.vendor="openSUSE Project"
+LABEL org.opencontainers.image.source="%SOURCEURL%"
+LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/openjdk-devel:21-%RELEASE%"
+LABEL org.openbuildservice.disturl="%DISTURL%"
+LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime"
+LABEL org.opensuse.release-stage="released"
+
+# endlabelprefix
+
+RUN set -euo pipefail; zypper -n in --no-recommends java-21-openjdk-devel git-core maven; zypper -n clean; rm -rf /var/log/*
+ENV JAVA_BINDIR="/usr/lib64/jvm/java-21-openjdk-21/bin"
+ENV JAVA_HOME="/usr/lib64/jvm/java-21-openjdk-21"
+ENV JAVA_ROOT="/usr/lib64/jvm/java-21-openjdk-21"
+ENV JAVA_VERSION="21"
+
+CMD ["/usr/bin/jshell"]
+RUN set -euo pipefail; [ -d $JAVA_HOME ]; [ -d $JAVA_BINDIR ]; [ -f "$JAVA_BINDIR/java" ] && [ -x "$JAVA_BINDIR/java" ]
diff --git a/openjdk-21-devel-image/_constraints b/openjdk-21-devel-image/_constraints
new file mode 100644
index 000000000..df1320bf4
--- /dev/null
+++ b/openjdk-21-devel-image/_constraints
@@ -0,0 +1,7 @@
+
+
+
+ 6
+
+
+
diff --git a/openjdk-21-devel-image/_service b/openjdk-21-devel-image/_service
new file mode 100644
index 000000000..053a4f4f8
--- /dev/null
+++ b/openjdk-21-devel-image/_service
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/openjdk-21-devel-image/openjdk-21-devel-image.changes b/openjdk-21-devel-image/openjdk-21-devel-image.changes
new file mode 100644
index 000000000..379275333
--- /dev/null
+++ b/openjdk-21-devel-image/openjdk-21-devel-image.changes
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Fri Sep 22 10:47:41 UTC 2023 - SUSE Update Bot
+
+- First version of the OpenJDK 21 development BCI
diff --git a/openjdk-21-image/Dockerfile b/openjdk-21-image/Dockerfile
new file mode 100644
index 000000000..d41bde332
--- /dev/null
+++ b/openjdk-21-image/Dockerfile
@@ -0,0 +1,32 @@
+#!ExclusiveArch: aarch64 x86_64 ppc64le s390x
+# SPDX-License-Identifier: MIT
+#!BuildTag: opensuse/bci/openjdk:21
+#!BuildTag: opensuse/bci/openjdk:21-%RELEASE%
+
+FROM opensuse/tumbleweed:latest
+
+MAINTAINER openSUSE (https://www.opensuse.org/)
+
+# Define labels according to https://en.opensuse.org/Building_derived_containers
+# labelprefix=org.opensuse.bci.openjdk
+LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI OpenJDK 21 runtime"
+LABEL org.opencontainers.image.description="OpenJDK 21 runtime container based on the openSUSE Tumbleweed Base Container Image."
+LABEL org.opencontainers.image.version="21"
+LABEL org.opencontainers.image.url="https://www.opensuse.org"
+LABEL org.opencontainers.image.created="%BUILDTIME%"
+LABEL org.opencontainers.image.vendor="openSUSE Project"
+LABEL org.opencontainers.image.source="%SOURCEURL%"
+LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/openjdk:21-%RELEASE%"
+LABEL org.openbuildservice.disturl="%DISTURL%"
+LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime"
+LABEL org.opensuse.release-stage="released"
+
+# endlabelprefix
+
+RUN set -euo pipefail; zypper -n in --no-recommends java-21-openjdk; zypper -n clean; rm -rf /var/log/*
+ENV JAVA_BINDIR="/usr/lib64/jvm/java-21-openjdk-21/bin"
+ENV JAVA_HOME="/usr/lib64/jvm/java-21-openjdk-21"
+ENV JAVA_ROOT="/usr/lib64/jvm/java-21-openjdk-21"
+ENV JAVA_VERSION="21"
+
+RUN set -euo pipefail; [ -d $JAVA_HOME ]; [ -d $JAVA_BINDIR ]; [ -f "$JAVA_BINDIR/java" ] && [ -x "$JAVA_BINDIR/java" ]
diff --git a/openjdk-21-image/_constraints b/openjdk-21-image/_constraints
new file mode 100644
index 000000000..df1320bf4
--- /dev/null
+++ b/openjdk-21-image/_constraints
@@ -0,0 +1,7 @@
+
+
+
+ 6
+
+
+
diff --git a/openjdk-21-image/_service b/openjdk-21-image/_service
new file mode 100644
index 000000000..053a4f4f8
--- /dev/null
+++ b/openjdk-21-image/_service
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/openjdk-21-image/openjdk-21-image.changes b/openjdk-21-image/openjdk-21-image.changes
new file mode 100644
index 000000000..3793049e4
--- /dev/null
+++ b/openjdk-21-image/openjdk-21-image.changes
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Fri Sep 22 10:47:41 UTC 2023 - SUSE Update Bot
+
+- First version of the OpenJDK 21 runtime BCI