Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a ObsPackage class for grouping Container Images #1815

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

dcermak
Copy link
Collaborator

@dcermak dcermak commented Oct 8, 2024

This is pretty much a re-implementation of #1755, with more code but an API that I personally like a bit more, because it is more explicit:

  • it is now clear which containers are part of a single package
  • which name the resulting package gets

This required the introduction of another base class ObsPackageBase from which both ObsPackage and BaseContainerImage inherit. The API is not yet great, as there's now a bit of duplication going on, if you stuff a BCI into a ObsPackage, but I wanted to get some feedback first.

dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
Copy link

github-actions bot commented Oct 8, 2024

Created a staging project on OBS for 16.0: home:defolos:BCI:Staging:16.0:16.0-1815
Changes pushed to branch 16.0-1815 as commit 0a5f66c34dd527cc39239f6ec4ed7d35117150c5

Copy link

github-actions bot commented Oct 8, 2024

Created a staging project on OBS for 5: home:defolos:BCI:Staging:SLE-15-SP5:5-1815
Changes pushed to branch 5-1815 as commit 05cf95617b01d1a548a24a6aa994683acc6468a1
Build succeeded ✅

Build Results

Repository images in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for x86_64: current state: published
Build results:

package name status build log
busybox-image ✅ succeeded live log
init-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nodejs-18-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
sle15-kernel-module-devel-image ⛔ excluded live log

Repository images in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for aarch64: current state: published
Build results:

package name status build log
busybox-image ✅ succeeded live log
init-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nodejs-18-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
sle15-kernel-module-devel-image ⛔ excluded live log

Repository images in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for s390x: current state: published
Build results:

package name status build log
busybox-image ✅ succeeded live log
init-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nodejs-18-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
sle15-kernel-module-devel-image ⛔ excluded live log

Repository images in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for ppc64le: current state: published
Build results:

package name status build log
busybox-image ✅ succeeded live log
init-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nodejs-18-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
sle15-kernel-module-devel-image ⛔ excluded live log

Repository containerfile in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for x86_64: current state: published
Build results:

package name status build log
busybox-image ⛔ excluded live log
init-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nodejs-18-image ✅ succeeded live log
openjdk-11-devel-image ✅ succeeded live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ✅ succeeded live log
openjdk-17-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
sle15-kernel-module-devel-image ✅ succeeded live log

Repository containerfile in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for aarch64: current state: published
Build results:

package name status build log
busybox-image ⛔ excluded live log
init-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nodejs-18-image ✅ succeeded live log
openjdk-11-devel-image ✅ succeeded live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ✅ succeeded live log
openjdk-17-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
sle15-kernel-module-devel-image ✅ succeeded live log

Repository containerfile in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for s390x: current state: published
Build results:

package name status build log
busybox-image ⛔ excluded live log
init-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nodejs-18-image ✅ succeeded live log
openjdk-11-devel-image ✅ succeeded live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ✅ succeeded live log
openjdk-17-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
sle15-kernel-module-devel-image ✅ succeeded live log

Repository containerfile in home:defolos:BCI:Staging:SLE-15-SP5:5-1815 for ppc64le: current state: published
Build results:

package name status build log
busybox-image ⛔ excluded live log
init-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nodejs-18-image ✅ succeeded live log
openjdk-11-devel-image ✅ succeeded live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ✅ succeeded live log
openjdk-17-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
sle15-kernel-module-devel-image ✅ succeeded live log

Build succeeded ✅

To run BCI-tests against this PR, use the following command:

OS_VERSION=15.5 TARGET=custom BASEURL=registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/ tox -- -n auto
The following images can be pulled from the staging project:
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/bci-init:15.5
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/bci-sle15-kernel-module-devel:15.5
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/node:18
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/nodejs:18
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/openjdk:11
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/bci/openjdk-devel:11
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/containerfile/suse/postgres:15
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/images/bci/bci-busybox:15.5
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/images/bci/bci-micro:15.5
  • registry.opensuse.org/home/defolos/bci/staging/sle-15-sp5/5-1815/images/bci/bci-minimal:15.5

Copy link

github-actions bot commented Oct 8, 2024

Created a staging project on OBS for 7: home:defolos:BCI:Staging:SLE-15-SP7:7-1815
Changes pushed to branch 7-1815 as commit b43215a2ca2da18d77f1da581dcdb327d061b4cf

dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
dcermak pushed a commit that referenced this pull request Oct 8, 2024
Copy link

github-actions bot commented Oct 8, 2024

Created a staging project on OBS for 6: home:defolos:BCI:Staging:SLE-15-SP6:6-1815
Changes pushed to branch 6-1815 as commit ae3cbed97ed3f32c4d2b4caf97f49c84fefb33c1

Copy link

github-actions bot commented Oct 8, 2024

Created a staging project on OBS for Tumbleweed: home:defolos:BCI:Staging:Tumbleweed:Tumbleweed-1815
Changes pushed to branch Tumbleweed-1815 as commit 274300ba1a545ea9de81778c73c65d3f9bc2a914
Build failed ❌

Build Results

Repository images in home:defolos:BCI:Staging:Tumbleweed:Tumbleweed-1815 for x86_64: current state: published
Build results:

package name status build log
389-ds-container ⛔ excluded live log
alertmanager-image ⛔ excluded live log
apache-tomcat-10-image ⛔ excluded live log
apache-tomcat-10-image:openjdk17 ⛔ excluded live log
apache-tomcat-10-image:openjdk21 ⛔ excluded live log
apache-tomcat-10-image:openjdk22 ⛔ excluded live log
apache-tomcat-image ⛔ excluded live log
blackbox_exporter-image ⛔ excluded live log
busybox-image ✅ succeeded live log
distribution-image ✅ succeeded live log
gcc-12-image ⛔ excluded live log
gcc-13-image ⛔ excluded live log
gcc-14-image ⛔ excluded live log
git-image ✅ succeeded live log
gitea-runner-image ⛔ excluded live log
golang-oldstable-image ⛔ excluded live log
golang-stable-image ⛔ excluded live log
grafana-image ⛔ excluded live log
helm-image ✅ succeeded live log
init-image ⛔ excluded live log
kiwi-image ⛔ excluded live log
mariadb-client-image ⛔ excluded live log
mariadb-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nginx-image ⛔ excluded live log
nodejs-20-image ⛔ excluded live log
nodejs-22-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
openjdk-21-devel-image ⛔ excluded live log
openjdk-21-image ⛔ excluded live log
openjdk-22-devel-image ⛔ excluded live log
openjdk-22-image ⛔ excluded live log
pcp-image ⛔ excluded live log
php-apache8-image ⛔ excluded live log
php-fpm8-image ⛔ excluded live log
php8-image ⛔ excluded live log
postfix-image ⛔ excluded live log
postgres-12-image ⛔ excluded live log
postgres-13-image ⛔ excluded live log
postgres-14-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
postgres-16-image ⛔ excluded live log
postgres-17-image ⛔ excluded live log
prometheus-image ⛔ excluded live log
python-3.10-image ⛔ excluded live log
python-3.11-image ⛔ excluded live log
python-3.12-image ⛔ excluded live log
rmt-server-image ⛔ excluded live log
ruby-3.3-image ⛔ excluded live log
rust-oldstable-image ⛔ excluded live log
rust-stable-image ⛔ excluded live log
spack-image ⛔ excluded live log
trivy-image ✅ succeeded live log

Repository images in home:defolos:BCI:Staging:Tumbleweed:Tumbleweed-1815 for aarch64: current state: published
Build results:

package name status build log
389-ds-container ⛔ excluded live log
alertmanager-image ⛔ excluded live log
apache-tomcat-10-image ⛔ excluded live log
apache-tomcat-10-image:openjdk17 ⛔ excluded live log
apache-tomcat-10-image:openjdk21 ⛔ excluded live log
apache-tomcat-10-image:openjdk22 ⛔ excluded live log
apache-tomcat-image ⛔ excluded live log
blackbox_exporter-image ⛔ excluded live log
busybox-image ✅ succeeded live log
distribution-image ✅ succeeded live log
gcc-12-image ⛔ excluded live log
gcc-13-image ⛔ excluded live log
gcc-14-image ⛔ excluded live log
git-image ✅ succeeded live log
gitea-runner-image ⛔ excluded live log
golang-oldstable-image ⛔ excluded live log
golang-stable-image ⛔ excluded live log
grafana-image ⛔ excluded live log
helm-image ✅ succeeded live log
init-image ⛔ excluded live log
kiwi-image ⛔ excluded live log
mariadb-client-image ⛔ excluded live log
mariadb-image ⛔ excluded live log
micro-image ✅ succeeded live log
minimal-image ✅ succeeded live log
nginx-image ⛔ excluded live log
nodejs-20-image ⛔ excluded live log
nodejs-22-image ⛔ excluded live log
openjdk-11-devel-image ⛔ excluded live log
openjdk-11-image ⛔ excluded live log
openjdk-17-devel-image ⛔ excluded live log
openjdk-17-image ⛔ excluded live log
openjdk-21-devel-image ⛔ excluded live log
openjdk-21-image ⛔ excluded live log
openjdk-22-devel-image ⛔ excluded live log
openjdk-22-image ⛔ excluded live log
pcp-image ⛔ excluded live log
php-apache8-image ⛔ excluded live log
php-fpm8-image ⛔ excluded live log
php8-image ⛔ excluded live log
postfix-image ⛔ excluded live log
postgres-12-image ⛔ excluded live log
postgres-13-image ⛔ excluded live log
postgres-14-image ⛔ excluded live log
postgres-15-image ⛔ excluded live log
postgres-16-image ⛔ excluded live log
postgres-17-image ⛔ excluded live log
prometheus-image ⛔ excluded live log
python-3.10-image ⛔ excluded live log
python-3.11-image ⛔ excluded live log
python-3.12-image ⛔ excluded live log
rmt-server-image ⛔ excluded live log
ruby-3.3-image ⛔ excluded live log
rust-oldstable-image ⛔ excluded live log
rust-stable-image ⛔ excluded live log
spack-image ⛔ excluded live log
trivy-image ✅ succeeded live log

Repository containerfile in home:defolos:BCI:Staging:Tumbleweed:Tumbleweed-1815 for x86_64: current state: publishing
Build results:

package name status build log
389-ds-container ✅ succeeded live log
alertmanager-image ✅ succeeded live log
apache-tomcat-10-image ⛔ excluded live log
apache-tomcat-10-image:openjdk17 ✅ succeeded live log
apache-tomcat-10-image:openjdk21 ✅ succeeded live log
apache-tomcat-10-image:openjdk22 ✅ succeeded live log
apache-tomcat-image ⛔ excluded live log
blackbox_exporter-image ✅ succeeded live log
busybox-image ⛔ excluded live log
distribution-image ⛔ excluded live log
gcc-12-image ✅ succeeded live log
gcc-13-image ✅ succeeded live log
gcc-14-image ✅ succeeded live log
git-image ⛔ excluded live log
gitea-runner-image ✅ succeeded live log
golang-oldstable-image ✅ succeeded live log
golang-stable-image ✅ succeeded live log
grafana-image ✅ succeeded live log
helm-image ⛔ excluded live log
init-image ✅ succeeded live log
kiwi-image ✅ succeeded live log
mariadb-client-image ✅ succeeded live log
mariadb-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nginx-image ✅ succeeded live log
nodejs-20-image ✅ succeeded live log
nodejs-22-image ✅ succeeded live log
openjdk-11-devel-image ✅ succeeded live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ✅ succeeded live log
openjdk-17-image ✅ succeeded live log
openjdk-21-devel-image ✅ succeeded live log
openjdk-21-image ✅ succeeded live log
openjdk-22-devel-image ✅ succeeded live log
openjdk-22-image ✅ succeeded live log
pcp-image ✅ succeeded live log
php-apache8-image ✅ succeeded live log
php-fpm8-image ✅ succeeded live log
php8-image ✅ succeeded live log
postfix-image ✅ succeeded live log
postgres-12-image ✅ succeeded live log
postgres-13-image ✅ succeeded live log
postgres-14-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
postgres-16-image ✅ succeeded live log
postgres-17-image ✅ succeeded live log
prometheus-image ✅ succeeded live log
python-3.10-image ✅ succeeded live log
python-3.11-image ✅ succeeded live log
python-3.12-image ✅ succeeded live log
rmt-server-image ✅ succeeded live log
ruby-3.3-image ✅ succeeded live log
rust-oldstable-image ✅ succeeded live log
rust-stable-image ✅ succeeded live log
spack-image ✅ succeeded live log
trivy-image ⛔ excluded live log

Repository containerfile in home:defolos:BCI:Staging:Tumbleweed:Tumbleweed-1815 for aarch64: current state: publishing
Build results:

package name status build log
389-ds-container ✅ succeeded live log
alertmanager-image ✅ succeeded live log
apache-tomcat-10-image ⛔ excluded live log
apache-tomcat-10-image:openjdk17 ✅ succeeded live log
apache-tomcat-10-image:openjdk21 ✅ succeeded live log
apache-tomcat-10-image:openjdk22 ✅ succeeded live log
apache-tomcat-image ⛔ excluded live log
blackbox_exporter-image ✅ succeeded live log
busybox-image ⛔ excluded live log
distribution-image ⛔ excluded live log
gcc-12-image ✅ succeeded live log
gcc-13-image ✅ succeeded live log
gcc-14-image ✅ succeeded live log
git-image ⛔ excluded live log
gitea-runner-image ✅ succeeded live log
golang-oldstable-image ✅ succeeded live log
golang-stable-image ✅ succeeded live log
grafana-image ✅ succeeded live log
helm-image ⛔ excluded live log
init-image ✅ succeeded live log
kiwi-image ✅ succeeded live log
mariadb-client-image ✅ succeeded live log
mariadb-image ✅ succeeded live log
micro-image ⛔ excluded live log
minimal-image ⛔ excluded live log
nginx-image ✅ succeeded live log
nodejs-20-image ✅ succeeded live log
nodejs-22-image ✅ succeeded live log
openjdk-11-devel-image ❌ failed live log
openjdk-11-image ✅ succeeded live log
openjdk-17-devel-image ❌ failed live log
openjdk-17-image ✅ succeeded live log
openjdk-21-devel-image ❌ failed live log
openjdk-21-image ✅ succeeded live log
openjdk-22-devel-image ❌ failed live log
openjdk-22-image ✅ succeeded live log
pcp-image ❌ failed live log
php-apache8-image ✅ succeeded live log
php-fpm8-image ✅ succeeded live log
php8-image ✅ succeeded live log
postfix-image ✅ succeeded live log
postgres-12-image ✅ succeeded live log
postgres-13-image ✅ succeeded live log
postgres-14-image ✅ succeeded live log
postgres-15-image ✅ succeeded live log
postgres-16-image ✅ succeeded live log
postgres-17-image ✅ succeeded live log
prometheus-image ✅ succeeded live log
python-3.10-image ✅ succeeded live log
python-3.11-image ✅ succeeded live log
python-3.12-image ✅ succeeded live log
rmt-server-image ✅ succeeded live log
ruby-3.3-image ✅ succeeded live log
rust-oldstable-image ✅ succeeded live log
rust-stable-image ✅ succeeded live log
spack-image ✅ succeeded live log
trivy-image ⛔ excluded live log

Build failed ❌

To run BCI-tests against this PR, use the following command:

OS_VERSION=tumbleweed TARGET=custom BASEURL=registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/ tox -- -n auto
The following images can be pulled from the staging project:
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/389-ds:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/alertmanager:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/apache-tomcat:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/bci-gitea-runner:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/bci-init:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/gcc:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/golang:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/kiwi:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/node:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/nodejs:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/openjdk:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/openjdk-devel:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/php:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/php-apache:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/php-fpm:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/python:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/ruby:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/rust:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/bci/spack:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/blackbox_exporter:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/grafana:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/mariadb:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/mariadb-client:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/nginx:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/pcp:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/postfix:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/postgres:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/prometheus:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/containerfile/opensuse/rmt-server:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/bci/bci-busybox:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/bci/bci-micro:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/bci/bci-minimal:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/git:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/helm:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/registry:latest
  • registry.opensuse.org/home/defolos/bci/staging/tumbleweed/tumbleweed-1815/images/opensuse/trivy:latest

@@ -1479,7 +1484,7 @@ def generate_disk_size_constraints(size_gb: int) -> str:

SORTED_CONTAINER_IMAGE_NAMES = sorted(
ALL_CONTAINER_IMAGE_NAMES,
key=lambda bci: f"{ALL_CONTAINER_IMAGE_NAMES[bci].os_version}-{ALL_CONTAINER_IMAGE_NAMES[bci].name}",
key=lambda bci: f"{ALL_CONTAINER_IMAGE_NAMES[bci].os_version}-{ALL_CONTAINER_IMAGE_NAMES[bci].uid}",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that change seems unrelated?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is required, because ObsPackageBase doesn't have a name property


async def _write_service_file(self, dest: str) -> list[str]:
await write_to_file(os.path.join(dest, "_service"), self._service_file_contents)
return ["_service"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that return value seems unused? since it should end up in the files list anyway..

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is used here:

return [f for file_list in await asyncio.gather(*tasks) for f in file_list]

@dirkmueller
Copy link
Member

There's at least 3 refactorings in this PR which makes it really hard to review. the osversion -> os_version rename, the service jinja to class refactoring and the change of the containercrate to ObsPackage refactoring.

any chance to split the first two out so that it is easier to see what the rest is about? this is a 1000 lines diff over 11 commits.

personally I don't really like the Base in the name ObsPackageBase . what about renaming ObsPackageBase to ObsPackage and ObsPackage to MultibuildObsPackage (or multiflavor) ? that would make it a bit more logical IMHO.

also, why is there "magic" to collate up the services, but no magic to collate up the build flavors? instead they have to be set explicitly in multiple list entries (so whenever we add or remove a os_version that has different build flavors, the whole shebang needs to be duplicated)? Its such an implementation detail, it should be hidden the same way like services imho.

dcermak pushed a commit that referenced this pull request Oct 10, 2024
dcermak pushed a commit that referenced this pull request Oct 10, 2024
dcermak pushed a commit that referenced this pull request Oct 10, 2024
dcermak pushed a commit that referenced this pull request Oct 10, 2024
dcermak pushed a commit that referenced this pull request Oct 10, 2024
@dcermak dcermak force-pushed the refactorings branch 2 times, most recently from af79acf to f843b5d Compare October 14, 2024 10:04
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
@dcermak dcermak mentioned this pull request Oct 14, 2024
@dcermak
Copy link
Collaborator Author

dcermak commented Oct 14, 2024

personally I don't really like the Base in the name ObsPackageBase . what about renaming ObsPackageBase to ObsPackage and ObsPackage to MultibuildObsPackage (or multiflavor) ? that would make it a bit more logical IMHO.

I've renamed the classes as you suggested, ObsPackageBase is now ObsPackage and ObsPackage is now MultiBuildObsPackage

also, why is there "magic" to collate up the services, but no magic to collate up the build flavors? instead they have to be set explicitly in multiple list entries (so whenever we add or remove a os_version that has different build flavors, the whole shebang needs to be duplicated)? Its such an implementation detail, it should be hidden the same way like services imho.

Hm, I don't fully understand what pain point that this should solve though?

dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
dcermak pushed a commit that referenced this pull request Oct 14, 2024
@alexandrevicenzi
Copy link
Member

Overall LGTM, seems to clean up the code a bit.

I am not a big fan of the name ObsPackage because in my head I understand that as an RPM, and we are building either Kiwi or Dockerfiles, perhaps Image or ObsImage would be more meaningful, but this is just me nitpicking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants