Compare commits

..
14 Commits
Author SHA1 Message Date
pierre.geeraert 8bd1ec52db probably not needed
image puller runner / setup (push) Successful in 19s
image puller runner / Sync (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 1m2s
2026-09-24 10:40:11 +01:00
pierre.geeraert 3c4a4145b2 new AI way
image puller runner / setup (push) Successful in 24s
image puller runner / Sync (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Failing after 10s
2026-09-24 10:26:43 +01:00
pierre.geeraert 4e6ddeb9cd add all images
image puller runner / setup (push) Successful in 8s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 13s
2026-09-24 10:19:08 +01:00
pierre.geeraert 2571041a4b anjother try
image puller runner / setup (push) Successful in 5s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 27s
2026-09-24 10:14:11 +01:00
pierre.geeraert f90a3395a2 naming
image puller runner / setup (push) Successful in 6s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 9s
2026-09-24 10:12:38 +01:00
pierre.geeraert 942d963484 add the tag and push part
image puller runner / setup (push) Successful in 5s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 28s
2026-09-24 10:11:05 +01:00
pierre.geeraert 74a213ebca wrong call
image puller runner / setup (push) Successful in 5s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Successful in 19s
2026-09-24 10:07:46 +01:00
pierre.geeraert eddc126992 latest image
image puller runner / Explore-Gitea-Actions (push) Successful in 17s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Failing after 45s
2026-09-24 09:45:59 +01:00
pierre.geeraert caa0ce318c add the image downloader
image puller runner / Explore-Gitea-Actions (push) Failing after 5s
image puller runner / process-images (${{ fromJSON(needs.setup.outputs.image_matrix) }}) (push) Failing after 3s
2026-09-22 13:38:12 +01:00
pierre.geeraert 60bc4453de add the image downloader
image puller runner / Explore-Gitea-Actions (push) Failing after 5s
2026-09-22 13:31:14 +01:00
pierre.geeraert 22e040bb8e add the image downloader
image puller runner / Explore-Gitea-Actions (push) Successful in 8s
2026-09-22 13:27:49 +01:00
pierre.geeraert d881fbcfb4 actually we need the list
image puller runner / Explore-Gitea-Actions (push) Successful in 9s
2026-09-22 13:25:20 +01:00
pierre.geeraert 955fd8c452 actually we need the list
image puller runner / Explore-Gitea-Actions (push) Successful in 13s
2026-09-22 13:24:12 +01:00
pierre.geeraert 3ecd399449 add the image downloader
image puller runner / Explore-Gitea-Actions (push) Failing after 8s
2026-09-22 13:23:26 +01:00
2 changed files with 115 additions and 16 deletions
+57 -16
View File
@@ -5,37 +5,78 @@ on:
workflow_dispatch: # Enables the manual run UI button
jobs:
Explore-Gitea-Actions:
setup:
env:
RUNNER_TOOL_CACHE: /toolcache
DEBUG: True
ALLOWED_HOSTS: "django.tryton.geeraert.eu"
container:
image: gitea.tryton.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:1.0.6
image: gitea.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:latest
volumes:
- act-toolcache:/opt/hostedtoolcache # this is where Runner store their cache default
runs-on: host-runner
outputs:
image_matrix: ${{ steps.set-matrix.outputs.images }}
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
- name: Checkout repository
uses: actions/checkout@v4
- name: cat list
- name: Parse image file into JSON array
id: set-matrix
run: |
cat image_list.txt
# Read lines, remove empty lines/comments, and format as a JSON array
# e.g., ["ubuntu:latest", "alpine:3.18"]
JSON_ARRAY=$(jq -R -s -c 'split("\n") | map(select(length > 0 and (startswith("#") | not)))' image_list.txt)
echo "Images found: $JSON_ARRAY"
echo "images=$JSON_ARRAY" >> $GITHUB_OUTPUT
# Job 2: Process each image in parallel matrix slots
process-images:
needs: setup
runs-on: host-runner
container:
image: gitea.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:latest
strategy:
max-parallel: 1
fail-fast: false
matrix:
image: ${{ fromJSON(needs.setup.outputs.image_matrix) }}
name: Sync (${{ matrix.image }})
steps:
- name: Login to gitea
uses: docker/login-action@v3
with:
registry: gitea.tryton.geeraert.eu
registry: gitea.geeraert.eu
username: ${{ secrets.USERNAME_GITEA }}
password: ${{ secrets.PASSWORD_GITEA }}
# - name: Push image
# run: |
# docker push gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest
# docker push gitea.tryton.geeraert.eu/pi-ux-ce/django-python:${{ env.next_version }}
- name: docker pull ${{ matrix.image }}
run: docker pull ${{ matrix.image }}
- name: Process, Tag and Push to Gitea
run: |
RAW_IMAGE="${{ matrix.image }}"
# Clean up the image name string to prevent malformed targets
# e.g., converts 'ghcr.io/bitwarden/admin:2026.1.0' into 'bitwarden-admin:2026.1.0'
CLEANED_NAME=$(echo "$RAW_IMAGE" | sed -E 's|^[^/]*/||' | tr '/' '-')
TARGET_IMAGE="gitea.geeraert.eu/pi-ux-ce/${CLEANED_NAME}"
echo "Original: $RAW_IMAGE"
echo "Target Registry Image: $TARGET_IMAGE"
# Perform operations sequentially
docker tag "$RAW_IMAGE" "$TARGET_IMAGE"
docker push "$TARGET_IMAGE"
- name: Post Cleanup Host Storage
if: always()
run: |
CLEANED_NAME=$(echo "${{ matrix.image }}" | sed -E 's|^[^/]*/||' | tr '/' '-')
docker rmi "${{ matrix.image }}" || true
docker rmi "gitea.geeraert.eu/pi-ux-ce/${CLEANED_NAME}" || true
+58
View File
@@ -0,0 +1,58 @@
ghcr.io/bitwarden/admin:2026.1.0
ghcr.io/bitwarden/attachments:2026.1.0
ghcr.io/bitwarden/events:2026.1.0
ghcr.io/bitwarden/icons:2026.1.0
ghcr.io/bitwarden/mssql:2026.1.0
ghcr.io/bitwarden/nginx:2026.1.0
ghcr.io/bitwarden/notifications:2026.1.0
ghcr.io/bitwarden/sso:2026.1.0
ghcr.io/bitwarden/web:2026.1.0
linuxserver/bookstack:latest
lscr.io/linuxserver/mariadb
quay.io/jetstack/cert-manager-controller:v1.11.0
quay.io/jetstack/cert-manager-cainjector:v1.11.0
quay.io/jetstack/cert-manager-webhook:v1.11.0
ghcr.io/stakater/reloader:latest
docker.io/library/postgres:latest
docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0
ealen/echo-server:latest
postgres:17
gitea/act_runner:latest
gitea/gitea:1.27.0
qmcgaw/gluetun:latest
ghcr.io/immich-app/immich-server:v3.0.0
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
ghcr.io/immich-app/immich-machine-learning:v2.5.6
docker.io/calico/kube-controllers:v3.27.0
registry.k8s.io/coredns/coredns:v1.10.1
registry.k8s.io/sig-storage/csi-provisioner:v3.6.2
registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2
registry.k8s.io/sig-storage/livenessprobe:v2.11.0
registry.k8s.io/sig-storage/nfsplugin:v4.6.0
quay.io/metallb/controller:v0.14.8
netdata/netdata:edge
netdata/netdata:edge
docker.io/library/postgres:14
image: docker.io/library/redis:7
nextcloud:29.0.3-apache
registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
gotenberg/gotenberg:8
ghcr.io/paperless-ngx/paperless-ngx:2.18.4
postgres:15.6
redis:7.4.1
image: docker.io/apache/tika:latest
pihole/pihole:latest
image: portainer/portainer-ce:latest
portainer/agent:2.19.4
ghcr.io/flaresolverr/flaresolverr:latest
linuxserver/prowlarr:latest
docker.io/library/postgres:17.5
lscr.io/linuxserver/qbittorrent:latest
lscr.io/linuxserver/radarr:latest
lscr.io/linuxserver/sonarr:latest
stashapp/stash:v0.30.1
lscr.io/linuxserver/unifi-network-application:8.1.113-ls36
docker.io/mongo
ghcr.io/requarks/wiki:2.5
postgres:17