Skip to content

Add ThirdPartyRepoMixin#3374

Merged
dirkmueller merged 4 commits intomainfrom
third-rarty-repo
Feb 2, 2026
Merged

Add ThirdPartyRepoMixin#3374
dirkmueller merged 4 commits intomainfrom
third-rarty-repo

Conversation

@alexandrevicenzi
Copy link
Member

This includes:

  • Refactor of .NET generator into a reusable ThirdPartyRepoMixin
  • Migration of .NET images to the ThirdPartyRepoMixin
  • .NET images living side-by-side with all the other images, no special funky code

This will also be used by the AMD GPU driver image.

bci-pushman pushed a commit that referenced this pull request Jan 26, 2026
@github-actions
Copy link

github-actions bot commented Jan 26, 2026

Created a staging project on OBS for 7: home:pushman:BCI:Staging:SLE-15-SP7:7-3374
Changes pushed to branch 7-3374 as commit 55df964d8542dcca2ff21a4222febe49ff4e4648
Build succeeded ✅

Build Results

Repository images in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for x86_64: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Repository images in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for aarch64: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Repository images in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for s390x: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Repository images in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for ppc64le: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Repository containerfile in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for x86_64: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ✅ succeeded live log
aspnet-runtime-8.0 ✅ succeeded live log
aspnet-runtime-9.0 ✅ succeeded live log
dotnet-10.0 ✅ succeeded live log
dotnet-8.0 ✅ succeeded live log
dotnet-9.0 ✅ succeeded live log
dotnet-runtime-10.0 ✅ succeeded live log
dotnet-runtime-8.0 ✅ succeeded live log
dotnet-runtime-9.0 ✅ succeeded live log

Repository containerfile in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for aarch64: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ✅ succeeded live log
aspnet-runtime-8.0 ✅ succeeded live log
aspnet-runtime-9.0 ✅ succeeded live log
dotnet-10.0 ✅ succeeded live log
dotnet-8.0 ✅ succeeded live log
dotnet-9.0 ✅ succeeded live log
dotnet-runtime-10.0 ✅ succeeded live log
dotnet-runtime-8.0 ✅ succeeded live log
dotnet-runtime-9.0 ✅ succeeded live log

Repository containerfile in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for s390x: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Repository containerfile in home:pushman:BCI:Staging:SLE-15-SP7:7-3374 for ppc64le: current state: published
Build results:

package name status build log
aspnet-runtime-10.0 ⛔ excluded live log
aspnet-runtime-8.0 ⛔ excluded live log
aspnet-runtime-9.0 ⛔ excluded live log
dotnet-10.0 ⛔ excluded live log
dotnet-8.0 ⛔ excluded live log
dotnet-9.0 ⛔ excluded live log
dotnet-runtime-10.0 ⛔ excluded live log
dotnet-runtime-8.0 ⛔ excluded live log
dotnet-runtime-9.0 ⛔ excluded live log

Build succeeded ✅

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

OS_VERSION=15.7 TARGET=custom BASEURL=registry.opensuse.org/home/pushman/bci/staging/sle-15-sp7/7-3374/ tox -- -n auto
The following images can be pulled from the staging project:
  • registry.opensuse.org/home/pushman/bci/staging/sle-15-sp7/7-3374/containerfile/bci/dotnet-aspnet:latest
  • registry.opensuse.org/home/pushman/bci/staging/sle-15-sp7/7-3374/containerfile/bci/dotnet-runtime:latest
  • registry.opensuse.org/home/pushman/bci/staging/sle-15-sp7/7-3374/containerfile/bci/dotnet-sdk:latest

@alexandrevicenzi alexandrevicenzi marked this pull request as ready for review January 26, 2026 09:55
@dirkmueller
Copy link
Member

can you please merge the last two commits? otherwise git doesn't detect them as renames and generates a rather large diff..

also the DOTNET_VERSION is now set to empty rather than the version number, which looks like there is something broken.

Copy link
Member

@dirkmueller dirkmueller left a comment

Choose a reason for hiding this comment

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

in the CI diff, you can see that DOTNET_VERSION is now set to empty.

bci-pushman pushed a commit that referenced this pull request Jan 26, 2026
bci-pushman pushed a commit that referenced this pull request Jan 26, 2026
@alexandrevicenzi
Copy link
Member Author

can you please merge the last two commits? otherwise git doesn't detect them as renames and generates a rather large diff..

also the DOTNET_VERSION is now set to empty rather than the version number, which looks like there is something broken.

Merged both commits, but it does not seem to detect the rename.

DOTNET_VERSION is fixed, it was an undefined variable in the template.

{%- endwith %}
{%- endfor %}

COPY third-party.repo /etc/zypp/repos.d/{{ image.name }}.repo
Copy link
Member

Choose a reason for hiding this comment

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

do we really need to name the repo different for every container? I found the previous naming of just using hte 3rd party name much more convenient (also this breaks tests, but that could be fixed). what's the rationale for this?

Copy link
Member Author

Choose a reason for hiding this comment

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

No strong reasons for this naming.

Copy link
Member Author

Choose a reason for hiding this comment

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

Since this is generic code, I can't keep the original .NET name here, but I made it static, all containers are going to have the same name, which is third-party.repo/

Copy link
Member

@dirkmueller dirkmueller Jan 28, 2026

Choose a reason for hiding this comment

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

thanks, but my concern was on the group name within, as that is used as repository name. I agree we cannot use it for everything, but maybe we can just make it settable and set it to the previous name? then it could potentially stack, in case we ever have the need for multiple third party repos.

Copy link
Member Author

Choose a reason for hiding this comment

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

I added a way to set the files to the previous names.

It is not possible to stack multiple third-party repos, everything would need to become some sort of a list.

Copy link
Member

@dirkmueller dirkmueller left a comment

Choose a reason for hiding this comment

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

what happened to the _fetch_dotnet_host() logic? seems gone. also see more inline comments.

this needs a bit more work. I do like moving around the files to the new location, but intermixing that with many subtle logic changes makes reviewing rather hard.

@alexandrevicenzi
Copy link
Member Author

what happened to the _fetch_dotnet_host() logic? seems gone. also see more inline comments.

this needs a bit more work. I do like moving around the files to the new location, but intermixing that with many subtle logic changes makes reviewing rather hard.

Yes, it was removed. I think I completely misunderstood what _fetch_dotnet_host was doing, I can revert it.

bci-pushman pushed a commit that referenced this pull request Jan 28, 2026
@alexandrevicenzi
Copy link
Member Author

@dirkmueller I restored the original logic for _fetch_dotnet_host, _guess_version_from_pkglist, evr version format, and rpm.labelCompare for comparisons.

There are still significant changes of code moving around, but I tried to preserve important bits as much as possible and make it also reusable for the AMG GPU container.

It helps when exporting localy, otherwise it requires to create paths
manually.
Migrate .NET images to the new ThirdPartyRepoMixin.
This allow images to use third-party repositories easily.
bci-pushman pushed a commit that referenced this pull request Jan 29, 2026
@dirkmueller dirkmueller merged commit db7f8b3 into main Feb 2, 2026
2 of 10 checks passed
@dirkmueller dirkmueller deleted the third-rarty-repo branch February 2, 2026 20:39
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.

2 participants