Skip to content

Commit fe005ab

Browse files
authored
Merge pull request #3448 from SUSE/for-deploy-Tumbleweed
🤖: Update build recipes for Tumbleweed
2 parents f2b28fa + 8f6036e commit fe005ab

7 files changed

Lines changed: 141 additions & 2 deletions

File tree

.obs/workflows.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,10 @@ staging_build:
153153
source_project: home:pushman:BCI:CR:Tumbleweed
154154
source_package: nodejs-22-image
155155
target_project: home:pushman:BCI:CR:Tumbleweed:Staging
156+
- branch_package:
157+
source_project: home:pushman:BCI:CR:Tumbleweed
158+
source_package: nodejs-24-image
159+
target_project: home:pushman:BCI:CR:Tumbleweed:Staging
156160
- branch_package:
157161
source_project: home:pushman:BCI:CR:Tumbleweed
158162
source_package: openjdk-11-devel-image
@@ -412,6 +416,9 @@ refresh_devel_BCI:
412416
- trigger_services:
413417
project: devel:BCI:Tumbleweed
414418
package: nodejs-22-image
419+
- trigger_services:
420+
project: devel:BCI:Tumbleweed
421+
package: nodejs-24-image
415422
- trigger_services:
416423
project: devel:BCI:Tumbleweed
417424
package: openjdk-11-devel-image

nodejs-22-image/Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
#!BuildTag: opensuse/bci/nodejs:%%nodejs_version%%-%RELEASE%
1919
#!BuildTag: opensuse/bci/nodejs:%%nodejs_version%%
2020
#!BuildTag: opensuse/bci/nodejs:22
21-
#!BuildTag: opensuse/bci/nodejs:latest
2221
#!BuildTag: opensuse/bci/node:%%nodejs_version%%-%RELEASE%
2322
#!BuildTag: opensuse/bci/node:%%nodejs_version%%
2423
#!BuildTag: opensuse/bci/node:22
25-
#!BuildTag: opensuse/bci/node:latest
2624

2725
FROM opensuse/tumbleweed:latest
2826

nodejs-22-image/nodejs-22-image.changes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
-------------------------------------------------------------------
2+
Mon Feb 16 10:51:32 UTC 2026 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- latest is now on 24
5+
16
-------------------------------------------------------------------
27
Thu Jan 1 14:16:34 UTC 2026 - SUSE Update Bot <bci-internal@suse.de>
38

nodejs-24-image/Dockerfile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# SPDX-License-Identifier: MIT
2+
3+
# Copyright (c) 2026 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: opensuse/bci/nodejs:%%nodejs_version%%-%RELEASE%
19+
#!BuildTag: opensuse/bci/nodejs:%%nodejs_version%%
20+
#!BuildTag: opensuse/bci/nodejs:24
21+
#!BuildTag: opensuse/bci/nodejs:latest
22+
#!BuildTag: opensuse/bci/node:%%nodejs_version%%-%RELEASE%
23+
#!BuildTag: opensuse/bci/node:%%nodejs_version%%
24+
#!BuildTag: opensuse/bci/node:24
25+
#!BuildTag: opensuse/bci/node:latest
26+
27+
FROM opensuse/tumbleweed:latest
28+
29+
RUN set -euo pipefail; \
30+
zypper -n install --no-recommends nodejs24 npm24 update-alternatives curl findutils gawk git-core procps util-linux
31+
32+
# cleanup logs and temporary files
33+
RUN set -euo pipefail; zypper -n clean -a; \
34+
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}; \
35+
rm -rf {/target,}/run/*; \
36+
rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \
37+
rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \
38+
rm -f {/target,}/var/cache/ldconfig/aux-cache; \
39+
command -v zypper >/dev/null 2>&1 || rm -f /var/lib/zypp/AutoInstalled
40+
41+
# set the day of last password change to empty
42+
RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /etc/shadow
43+
44+
# Define labels according to https://en.opensuse.org/Building_derived_containers
45+
# labelprefix=org.opensuse.bci.nodejs
46+
LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI Node.js 24 development"
47+
LABEL org.opencontainers.image.description="Node.js 24 development container based on the openSUSE Tumbleweed Base Container Image."
48+
LABEL org.opencontainers.image.version="%%nodejs_version%%"
49+
LABEL org.opencontainers.image.url="https://www.opensuse.org"
50+
LABEL org.opencontainers.image.created="%BUILDTIME%"
51+
LABEL org.opencontainers.image.vendor="openSUSE Project"
52+
LABEL org.opencontainers.image.source="%SOURCEURL%"
53+
LABEL org.opencontainers.image.ref.name="%%nodejs_version%%-%RELEASE%"
54+
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/nodejs:%%nodejs_version%%-%RELEASE%"
55+
LABEL org.openbuildservice.disturl="%DISTURL%"
56+
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
57+
LABEL org.opensuse.release-stage="released"
58+
# endlabelprefix
59+
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
60+
ENV NODE_VERSION="24"

nodejs-24-image/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Node.js 24 development container image
2+
3+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
4+
5+
## Description
6+
7+
[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.
8+
9+
## Usage
10+
11+
To deploy an application, install dependencies, copy the sources, and configure the application's main script:
12+
13+
```Dockerfile
14+
FROM registry.opensuse.org/opensuse/bci/nodejs:24
15+
16+
WORKDIR /app
17+
18+
COPY package.json package-lock.json ./
19+
RUN npm install
20+
21+
COPY . .
22+
23+
EXPOSE 3000
24+
25+
CMD [ "node", "./server.js" ]
26+
```
27+
28+
Build and run the container image:
29+
30+
```ShellSession
31+
$ podman build -t my-node-app .
32+
$ podman run -it -p 3000:3000 --rm my-node-app
33+
```
34+
35+
The example above assumes that there is a `package-lock.lock` file in the application directory.
36+
To generate a `package-lock.lock` file, use the following command:
37+
38+
```ShellSession
39+
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/nodejs:24 npm install --package-lock-only
40+
```
41+
42+
To run a single script inside a container, use the following command:
43+
44+
```ShellSession
45+
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/nodejs:24 node script.js
46+
```
47+
48+
## Licensing
49+
50+
`SPDX-License-Identifier: MIT`
51+
52+
This documentation and the build recipe are licensed as MIT.
53+
The container itself contains various software components under various open source licenses listed in the associated
54+
Software Bill of Materials (SBOM).
55+
56+
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).

nodejs-24-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">nodejs24</param>
8+
</service>
9+
</services>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-------------------------------------------------------------------
2+
Mon Feb 16 10:24:39 UTC 2026 - SUSE Update Bot <bci-internal@suse.de>
3+
4+
- First version of the Node.js 24 development BCI

0 commit comments

Comments
 (0)