use skopeo for pushing to forgejo
All checks were successful
/ build (push) Successful in 26m27s
/ podman-rootless-build (push) Successful in 37s

This commit is contained in:
Jacob Lifshay 2025-10-13 23:20:09 -07:00
parent a506aa49a4
commit f01d2667bf
Signed by: programmerjake
SSH key fingerprint: SHA256:HnFTLGpSm4Q4Fj502oCFisjZSoakwEuTsJJMSke63RQ

View file

@ -23,16 +23,18 @@ jobs:
scripts/check-copyright.sh
- run: |
apt-get update -qq
apt-get install -qq podman
apt-get install -qq podman skopeo
- run: |
BASE="$(echo "${{ forgejo.server_url }}" | sed 's@https://@@')"
CONTAINER="$BASE/${{ forgejo.repository }}"
podman build -t"$CONTAINER:latest" .
# don't use podman push since it fails when pushing large images to forgejo
skopeo copy --src-daemon-host=http://podman:1234 docker-daemon:"$CONTAINER:latest" oci:build:latest
- if: contains(fromJSON('["push", "schedule"]'), forgejo.event_name)
run: |
BASE="$(echo "${{ forgejo.server_url }}" | sed 's@https://@@')"
podman login --password-stdin -u "${{ forgejo.repository_owner }}" "$BASE" <<<"${{ secrets.CONTAINER_PUBLISH_TOKEN }}"
skopeo login --password-stdin -u "${{ forgejo.repository_owner }}" "$BASE" <<<"${{ secrets.CONTAINER_PUBLISH_TOKEN }}"
CONTAINER="$BASE/${{ forgejo.repository }}"
podman push "$CONTAINER:latest" "$CONTAINER:${{ forgejo.ref_name }}"
podman push "$CONTAINER:latest" "$CONTAINER:g${{ forgejo.sha }}"
podman push "$CONTAINER:latest" "$CONTAINER:latest"
skopeo copy oci:build:latest "docker://$CONTAINER:${{ forgejo.ref_name }}"
skopeo copy oci:build:latest "docker://$CONTAINER:g${{ forgejo.sha }}"
skopeo copy oci:build:latest "docker://$CONTAINER:latest"