Skip to content

Commit 279bd47

Browse files
authored
Merge pull request #2731 from SUSE/for-deploy-16.0
🤖: Update build recipes for 16.0
2 parents 22591d0 + d23802e commit 279bd47

21 files changed

Lines changed: 872 additions & 1 deletion

.obs/workflows.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,18 @@ staging_build:
6969
source_project: home:pushman:BCI:CR:16.0
7070
source_package: nginx-image
7171
target_project: home:pushman:BCI:CR:16.0:Staging
72+
- branch_package:
73+
source_project: home:pushman:BCI:CR:16.0
74+
source_package: nodejs-22-image
75+
target_project: home:pushman:BCI:CR:16.0:Staging
76+
- branch_package:
77+
source_project: home:pushman:BCI:CR:16.0
78+
source_package: openjdk-21-image
79+
target_project: home:pushman:BCI:CR:16.0:Staging
80+
- branch_package:
81+
source_project: home:pushman:BCI:CR:16.0
82+
source_package: openjdk-21-devel-image
83+
target_project: home:pushman:BCI:CR:16.0:Staging
7284
- branch_package:
7385
source_project: home:pushman:BCI:CR:16.0
7486
source_package: postgres-16-image
@@ -85,6 +97,10 @@ staging_build:
8597
source_project: home:pushman:BCI:CR:16.0
8698
source_package: python-3.13-image
8799
target_project: home:pushman:BCI:CR:16.0:Staging
100+
- branch_package:
101+
source_project: home:pushman:BCI:CR:16.0
102+
source_package: ruby-3.4-image
103+
target_project: home:pushman:BCI:CR:16.0:Staging
88104
- branch_package:
89105
source_project: home:pushman:BCI:CR:16.0
90106
source_package: rust-oldstable-image
@@ -173,6 +189,15 @@ refresh_devel_BCI:
173189
- trigger_services:
174190
project: devel:BCI:16.0
175191
package: nginx-image
192+
- trigger_services:
193+
project: devel:BCI:16.0
194+
package: nodejs-22-image
195+
- trigger_services:
196+
project: devel:BCI:16.0
197+
package: openjdk-21-image
198+
- trigger_services:
199+
project: devel:BCI:16.0
200+
package: openjdk-21-devel-image
176201
- trigger_services:
177202
project: devel:BCI:16.0
178203
package: postgres-16-image
@@ -185,6 +210,9 @@ refresh_devel_BCI:
185210
- trigger_services:
186211
project: devel:BCI:16.0
187212
package: python-3.13-image
213+
- trigger_services:
214+
project: devel:BCI:16.0
215+
package: ruby-3.4-image
188216
- trigger_services:
189217
project: devel:BCI:16.0
190218
package: rust-oldstable-image

_config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Ignore: krb5-mini:this-is-only-for-build-envs
4343

4444
BuildFlags: excludebuild:rpm
4545

46-
Prefer: -postgresql16-devel-mini -ALP-dummy-release -SLES_SAP-release
46+
Prefer: -postgresql16-devel-mini -postgresql17-devel-mini -ALP-dummy-release -SLES_SAP-release
4747

4848
# prevent gdb from pulling in python 3.11 & 3.12 at the same time
4949
Substitute: obs:cli_debug_packages less

nodejs-22-image/Dockerfile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# SPDX-License-Identifier: MIT
2+
3+
# Copyright (c) 2025 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!UseOBSRepositories
17+
18+
#!BuildTag: bci/nodejs:%%nodejs_version%%-%RELEASE%
19+
#!BuildTag: bci/nodejs:%%nodejs_version%%
20+
#!BuildTag: bci/nodejs:22
21+
#!BuildTag: bci/node:%%nodejs_version%%-%RELEASE%
22+
#!BuildTag: bci/node:%%nodejs_version%%
23+
#!BuildTag: bci/node:22
24+
#!BuildName: bci-nodejs-22
25+
#!BuildVersion: 16.0.22
26+
FROM bci/bci-base:16.0
27+
28+
RUN set -euo pipefail; \
29+
zypper -n install --no-recommends nodejs22 npm22 update-alternatives curl findutils gawk git-core procps util-linux
30+
RUN set -euo pipefail; zypper -n clean -a; \
31+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
32+
33+
# Define labels according to https://en.opensuse.org/Building_derived_containers
34+
# labelprefix=com.suse.bci.nodejs
35+
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
36+
LABEL org.opencontainers.image.title="SLE BCI Node.js 22 development"
37+
LABEL org.opencontainers.image.description="Node.js 22 development container based on the SLE Base Container Image."
38+
LABEL org.opencontainers.image.version="%%nodejs_version%%"
39+
LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/"
40+
LABEL org.opencontainers.image.created="%BUILDTIME%"
41+
LABEL org.opencontainers.image.vendor="SUSE LLC"
42+
LABEL org.opencontainers.image.source="%SOURCEURL%"
43+
LABEL org.opencontainers.image.ref.name="%%nodejs_version%%-%RELEASE%"
44+
LABEL org.opensuse.reference="registry.suse.com/bci/nodejs:%%nodejs_version%%-%RELEASE%"
45+
LABEL org.openbuildservice.disturl="%DISTURL%"
46+
LABEL com.suse.supportlevel="techpreview"
47+
LABEL com.suse.supportlevel.until="2027-04-30"
48+
LABEL com.suse.eula="sle-bci"
49+
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
50+
LABEL com.suse.release-stage="beta"
51+
# endlabelprefix
52+
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
53+
ENV NODE_VERSION="22"

nodejs-22-image/README.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Node.js 22 development container image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)![Support Level](https://img.shields.io/badge/Support_Level-techpreview-blue)
4+
[![SLSA](https://img.shields.io/badge/SLSA_(v0.1)-Level_4-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
5+
[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify)
6+
7+
## Description
8+
9+
[Node.js](https://nodejs.org/) is a free, open-source, cross-platform JavaScript run-time environment that lets developers write server-side applications and tools outside of a browser.
10+
11+
## Usage
12+
13+
To deploy an application, install dependencies, copy the sources, and configure the application's main script:
14+
15+
```Dockerfile
16+
FROM registry.suse.com/bci/nodejs:22
17+
18+
WORKDIR /app
19+
20+
COPY package.json package-lock.json ./
21+
RUN npm install
22+
23+
COPY . .
24+
25+
EXPOSE 3000
26+
27+
CMD [ "node", "./server.js" ]
28+
```
29+
30+
Build and run the container image:
31+
32+
```ShellSession
33+
$ podman build -t my-node-app .
34+
$ podman run -it -p 3000:3000 --rm my-node-app
35+
```
36+
37+
The example above assumes that there is a `package-lock.lock` file in the application directory.
38+
To generate a `package-lock.lock` file, use the following command:
39+
40+
```ShellSession
41+
$ podman run --rm -v "$PWD":/app:Z -w /app registry.suse.com/bci/nodejs:22 npm i --package-lock-only
42+
```
43+
44+
To run a single script inside a container, use the following command:
45+
46+
```ShellSession
47+
$ podman run --rm -v "$PWD":/app:Z -w /app registry.suse.com/bci/nodejs:22 node script.js
48+
```
49+
50+
## Licensing
51+
52+
`SPDX-License-Identifier: MIT`
53+
54+
This documentation and the build recipe are licensed as MIT.
55+
The container itself contains various software components under various open source licenses listed in the associated
56+
Software Bill of Materials (SBOM).
57+
58+
This image is a tech preview. Do not use it for production.
59+
Your feedback is welcome.
60+
Please report any issues to the [SUSE Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?product=SUSE%20Linux%20Enterprise%20Base%20Container%20Images).

nodejs-22-image/_service

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<services>
2+
<service mode="buildtime" name="docker_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
<service mode="buildtime" name="replace_using_package_version">
5+
<param name="file">Dockerfile</param>
6+
<param name="regex">%%nodejs_version%%</param>
7+
<param name="package">nodejs22</param>
8+
</service>
9+
</services>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
-------------------------------------------------------------------
2+
Thu Jul 3 12:10:33 UTC 2025 - Dirk Müller <dmueller@suse.com>
3+
4+
- rerender for SLE16
5+
6+
-------------------------------------------------------------------
7+
Tue Jun 17 13:58:41 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
8+
9+
- add latest tags
10+
11+
-------------------------------------------------------------------
12+
Fri May 23 11:24:20 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
13+
14+
- use SOURCEURL_WITH to generate proper artifacthub urls
15+
16+
-------------------------------------------------------------------
17+
Fri May 16 08:22:33 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
18+
19+
- switch to released mode
20+
21+
-------------------------------------------------------------------
22+
Tue May 6 11:22:25 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
23+
24+
- avoid double slash in readme url
25+
26+
-------------------------------------------------------------------
27+
Mon Apr 28 10:48:56 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
28+
29+
- zypper clean also the system repository from the container
30+
31+
-------------------------------------------------------------------
32+
Mon Apr 14 08:43:45 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
33+
34+
- stylistic changes to pass dockerfmt
35+
36+
-------------------------------------------------------------------
37+
Wed Jan 1 14:14:20 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
38+
39+
- update copyright year
40+
41+
-------------------------------------------------------------------
42+
Wed Dec 04 12:40:38 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
43+
44+
- First version of the Node.js 22 development BCI

openjdk-21-devel-image/Dockerfile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# SPDX-License-Identifier: MIT
2+
3+
# Copyright (c) 2025 SUSE LLC
4+
5+
# All modifications and additions to the file contributed by third parties
6+
# remain the property of their copyright owners, unless otherwise agreed
7+
# upon.
8+
9+
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
10+
# It is maintained by the BCI team and generated by
11+
# https://github.com/SUSE/BCI-dockerfile-generator
12+
13+
# Please submit bugfixes or comments via https://bugs.opensuse.org/
14+
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
15+
16+
#!UseOBSRepositories
17+
#!ExclusiveArch: aarch64 x86_64 ppc64le s390x
18+
#!BuildTag: bci/openjdk-devel:%%java_version%%-%RELEASE%
19+
#!BuildTag: bci/openjdk-devel:%%java_version%%
20+
#!BuildTag: bci/openjdk-devel:21
21+
#!BuildName: bci-openjdk-devel-21
22+
#!BuildVersion: 16.0.21
23+
FROM bci/openjdk:21
24+
25+
RUN set -euo pipefail; \
26+
zypper -n install --no-recommends java-21-openjdk-devel maven
27+
RUN set -euo pipefail; zypper -n clean -a; \
28+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
29+
30+
# Define labels according to https://en.opensuse.org/Building_derived_containers
31+
# labelprefix=com.suse.bci.openjdk.devel
32+
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
33+
LABEL org.opencontainers.image.title="SLE BCI OpenJDK 21 development"
34+
LABEL org.opencontainers.image.description="OpenJDK 21 development container based on the SLE Base Container Image."
35+
LABEL org.opencontainers.image.version="%%java_version%%"
36+
LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/"
37+
LABEL org.opencontainers.image.created="%BUILDTIME%"
38+
LABEL org.opencontainers.image.vendor="SUSE LLC"
39+
LABEL org.opencontainers.image.source="%SOURCEURL%"
40+
LABEL org.opencontainers.image.ref.name="%%java_version%%-%RELEASE%"
41+
LABEL org.opensuse.reference="registry.suse.com/bci/openjdk-devel:%%java_version%%-%RELEASE%"
42+
LABEL org.openbuildservice.disturl="%DISTURL%"
43+
LABEL com.suse.supportlevel="techpreview"
44+
LABEL com.suse.eula="sle-bci"
45+
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
46+
LABEL com.suse.release-stage="beta"
47+
# endlabelprefix
48+
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
49+
ENV JAVA_BINDIR="/usr/lib64/jvm/java-21-openjdk-21/bin"
50+
ENV JAVA_HOME="/usr/lib64/jvm/java-21-openjdk-21"
51+
ENV JAVA_ROOT="/usr/lib64/jvm/java-21-openjdk-21"
52+
ENV JAVA_VERSION="21"
53+
RUN set -euo pipefail; [ -d $JAVA_HOME ]; [ -d $JAVA_BINDIR ]; [ -f "$JAVA_BINDIR/java" ] && [ -x "$JAVA_BINDIR/java" ]

openjdk-21-devel-image/README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# OpenJDK 21 development container image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)![Support Level](https://img.shields.io/badge/Support_Level-techpreview-blue)
4+
[![SLSA](https://img.shields.io/badge/SLSA_(v0.1)-Level_4-Green)](https://documentation.suse.com/sbp/server-linux/html/SBP-SLSA4/)
5+
[![Provenance: Available](https://img.shields.io/badge/Provenance-Available-Green)](https://documentation.suse.com/container/all/html/Container-guide/index.html#container-verify)
6+
7+
## Description
8+
9+
[OpenJDK](https://openjdk.org/) (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). OpenJDK is the official reference implementation of Java SE since version 7.
10+
11+
The OpenJDK development image is intended to be used as a build environment. For runtime, use the OpenJDK runtime image.
12+
13+
## Usage
14+
15+
To compile and deploy an application, copy the sources and build the binary:
16+
17+
```Dockerfile
18+
# Build the application using the OpenJDK development image
19+
FROM registry.suse.com/bci/openjdk-devel:21 as build
20+
21+
WORKDIR /app
22+
23+
COPY . ./
24+
25+
RUN javac Hello.java
26+
27+
# Bundle the application into OpenJDK runtime image
28+
FROM registry.suse.com/bci/openjdk:21
29+
30+
WORKDIR /app
31+
32+
COPY --from=build /app/Hello.class /app
33+
34+
CMD ["java", "Hello"]
35+
```
36+
37+
Build and run the container image:
38+
39+
```ShellSession
40+
$ podman build -t my-java-app .
41+
$ podman run -it --rm my-java-app
42+
```
43+
44+
There are situations, where you don't want to run an application inside a container.
45+
46+
To compile the application, without running it inside a container instance, use the following command:
47+
48+
```ShellSession
49+
$ podman run --rm -v "$PWD":/app:Z -w /app registry.suse.com/bci/openjdk-devel:21 javac Hello.java
50+
```
51+
52+
## Additional tools
53+
54+
The OpenJDK 21 development image includes [Git](https://git-scm.com/) and [Apache Maven](https://maven.apache.org/). [Apache Ant](https://ant.apache.org/) is available in the repositories.
55+
56+
## Licensing
57+
58+
`SPDX-License-Identifier: MIT`
59+
60+
This documentation and the build recipe are licensed as MIT.
61+
The container itself contains various software components under various open source licenses listed in the associated
62+
Software Bill of Materials (SBOM).
63+
64+
This image is a tech preview. Do not use it for production.
65+
Your feedback is welcome.
66+
Please report any issues to the [SUSE Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?product=SUSE%20Linux%20Enterprise%20Base%20Container%20Images).
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<constraints>
2+
<hardware>
3+
<disk>
4+
<size unit="G">6</size>
5+
</disk>
6+
</hardware>
7+
</constraints>

openjdk-21-devel-image/_service

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<services>
2+
<service mode="buildtime" name="docker_label_helper"/>
3+
<service mode="buildtime" name="kiwi_metainfo_helper"/>
4+
<service mode="buildtime" name="replace_using_package_version">
5+
<param name="file">Dockerfile</param>
6+
<param name="regex">%%java_version%%</param>
7+
<param name="package">java-21-openjdk-devel</param>
8+
</service>
9+
</services>

0 commit comments

Comments
 (0)