From 56b30909244e432784348f4346ec8074779c04b6 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Sun, 8 Nov 2026 20:22:46 -0500 Subject: [PATCH] ci: dual-push Flatpak OCI bundles to Docker Hub (#2784) Mirror Flatpak OCI bundles to Docker Hub (`docker.io/storytold/artcraft`) alongside GHCR when Docker Hub credentials (`DOCKERHUB_USERNAME` and `DOCKERHUB_TOKEN`) are present. --- .github/workflows/artcraft-linux-publish.yml | 2 ++ packaging/linux/flatpak.sh | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/.github/workflows/artcraft-linux-publish.yml b/.github/workflows/artcraft-linux-publish.yml index 70e42ef0f1..e76cc04ac4 100644 --- a/.github/workflows/artcraft-linux-publish.yml +++ b/.github/workflows/artcraft-linux-publish.yml @@ -161,6 +161,8 @@ jobs: - name: Build Flatpak and publish OCI env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} run: packaging/linux/flatpak.sh - uses: actions/upload-artifact@v7 with: diff --git a/packaging/linux/flatpak.sh b/packaging/linux/flatpak.sh index 905efc0a19..cc08d0b57d 100755 --- a/packaging/linux/flatpak.sh +++ b/packaging/linux/flatpak.sh @@ -38,4 +38,13 @@ if [[ -n "${SIGNING_FPR:-}" ]]; then skopeo copy --format oci --dest-creds "$creds" "oci:dist/release/$base-oci" "docker://$registry:stable-$arch" fi skopeo inspect --raw --creds "$creds" "docker://$registry:$version-$arch" >"dist/release/$base.oci-manifest.json" + + if [[ -n "${DOCKERHUB_USERNAME:-}" && -n "${DOCKERHUB_TOKEN:-}" ]]; then + dh_registry="docker.io/storytold/${GITHUB_REPOSITORY##*/}" + dh_creds="$DOCKERHUB_USERNAME:$DOCKERHUB_TOKEN" + skopeo copy --format oci --dest-creds "$dh_creds" "oci:dist/release/$base-oci" "docker://$dh_registry:$version-$arch" + if [[ "$version" != *-* && ( "$GITHUB_REF" == refs/heads/release || "$GITHUB_REF" == refs/heads/artcraft-release ) ]]; then + skopeo copy --format oci --dest-creds "$dh_creds" "oci:dist/release/$base-oci" "docker://$dh_registry:stable-$arch" + fi + fi fi