1
0
Fork 0

Build dnf5 cache and share it among builds (fedora repos)
Some checks failed
/ build-kde (push) Failing after 6s
/ build-gnome (push) Failing after 3s

Before this all of the builds had to redownload all metadata, currently
this is only done for fedora repositories and not rpmfusion, but that
will most likely change when I think of an elegant solution to the
problem of not having rpmfusion repositories in the official minimal
image..
This commit is contained in:
ver4a 2024-11-16 23:38:40 +01:00
parent 667e6be3b4
commit 91953586e2

View file

@ -9,14 +9,16 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: cd ${{ env.GITHUB_WORKSPACE }} - run: cd ${{ env.GITHUB_WORKSPACE }}
- run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }} - run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }}
# Prepare dnf5 metadata cache (fedora repos, rpmfusion will come later)
- run: podman run --replace --rm --pull=always --name kde-dnf-makecache -v ./cache:/var/cache/libdnf5:z registry.fedoraproject.org/fedora-minimal:41 dnf5 makecache
# base # base
- run: podman build . -f Dockerfile.kde --no-cache --pull=always --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main - run: podman build . -f Dockerfile.kde --no-cache --pull=always -v ./cache:/var/cache/libdnf5:O --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main
- run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main
# base + nvidia # base + nvidia
- run: podman build . -f Dockerfile.kde-nvidia --no-cache --pull=never --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia - run: podman build . -f Dockerfile.kde-nvidia --no-cache --pull=never -v ./cache:/var/cache/libdnf5:O --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia
- run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia
# base + nvidia + ver4a's configuration # base + nvidia + ver4a's configuration
- run: podman build . -f Dockerfile.kde-nvidia-ver4a --no-cache --pull=never --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a - run: podman build . -f Dockerfile.kde-nvidia-ver4a --no-cache --pull=never -v ./cache:/var/cache/libdnf5:O --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a
- run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:main-nvidia-ver4a
- if: '!cancelled()' - if: '!cancelled()'
run: > run: >
@ -29,11 +31,13 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: cd ${{ env.GITHUB_WORKSPACE }} - run: cd ${{ env.GITHUB_WORKSPACE }}
- run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }} - run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }}
# Prepare dnf5 metadata cache (fedora repos, rpmfusion will come later)$
- run: podman run --replace --rm --pull=always --name gnome-dnf-makecache -v ./cache:/var/cache/libdnf5:z registry.fedoraproject.org/fedora-minimal:41 dnf5 makecache
# base # base
- run: podman build . -f Dockerfile.gnome --no-cache --pull=always --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main - run: podman build . -f Dockerfile.gnome --no-cache --pull=always -v ./cache:/var/cache/libdnf5:O --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main
- run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main
# base + nvidia # base + nvidia
- run: podman build . -f Dockerfile.gnome-nvidia --no-cache --pull=never --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia - run: podman build . -f Dockerfile.gnome-nvidia --no-cache --pull=never -v ./cache:/var/cache/libdnf5:O --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia
- run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:main-nvidia
- if: '!cancelled()' - if: '!cancelled()'
run: > run: >