Skip to content

Commit 75e026d

Browse files
committed
cicd: experiment
1 parent 3bb0707 commit 75e026d

1 file changed

Lines changed: 86 additions & 38 deletions

File tree

.github/workflows/docker-ci.yml

Lines changed: 86 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -925,75 +925,123 @@ jobs:
925925
mkdir -p ~/.docker
926926
echo "Created Docker config directory: ~/.docker"
927927
928-
- name: Login to Docker Hub
929-
if: needs.PREPARE-job.outputs.dockerhub_available == 'true'
930-
uses: redhat-actions/podman-login@v1
931-
with:
932-
registry: docker.io
933-
username: ${{ vars.DOCKERHUB_USERNAME }}
934-
password: ${{ secrets.DOCKERHUB_TOKEN }}
935-
936-
- name: Tag and push to Docker Hub
928+
# ============================================
929+
# Docker Hub Push (Independent Operation)
930+
# ============================================
931+
- name: "[Docker Hub] Login and Push"
937932
if: needs.PREPARE-job.outputs.dockerhub_available == 'true'
933+
continue-on-error: true
938934
run: |
935+
set +e # Don't exit on errors to allow independent execution
936+
echo "=========================================="
937+
echo " Docker Hub Push Process"
938+
echo "=========================================="
939+
940+
# Login to Docker Hub
941+
echo "🔐 Logging into Docker Hub..."
942+
if podman login docker.io -u "${{ vars.DOCKERHUB_USERNAME }}" -p "${{ secrets.DOCKERHUB_TOKEN }}"; then
943+
echo "✓ Docker Hub login successful"
944+
else
945+
echo "✗ Docker Hub login failed"
946+
exit 1
947+
fi
948+
949+
# Tag and push
939950
image_tag="${{ steps.locate_and_load.outputs.image_tag }}"
940951
dockerhub_tag="${{ vars.DOCKERHUB_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}"
941952
942-
echo "Tagging image for Docker Hub:"
943-
echo " Source: $image_tag"
944-
echo " Target: $dockerhub_tag"
945-
946-
podman tag "$image_tag" "$dockerhub_tag"
953+
echo ""
954+
echo "🏷️ Tagging image for Docker Hub:"
955+
echo " Source: $image_tag"
956+
echo " Target: $dockerhub_tag"
947957
948-
echo "Pushing to Docker Hub..."
949-
podman push "$dockerhub_tag"
958+
if podman tag "$image_tag" "$dockerhub_tag"; then
959+
echo "✓ Image tagged successfully"
960+
else
961+
echo "✗ Image tagging failed"
962+
exit 1
963+
fi
950964
951-
echo "✓ Successfully pushed to Docker Hub: $dockerhub_tag"
952-
953-
- name: Login to Quay.io
954-
if: needs.PREPARE-job.outputs.quayio_available == 'true'
955-
uses: redhat-actions/podman-login@v1
956-
with:
957-
registry: quay.io
958-
username: ${{ vars.QUAYIO_USERNAME }}
959-
password: ${{ secrets.QUAYIO_TOKEN }}
965+
echo ""
966+
echo "📤 Pushing to Docker Hub..."
967+
if podman push "$dockerhub_tag"; then
968+
echo "✅ Successfully pushed to Docker Hub: $dockerhub_tag"
969+
else
970+
echo "❌ Failed to push to Docker Hub"
971+
exit 1
972+
fi
960973
961-
- name: Tag and push to Quay.io
974+
# ============================================
975+
# Quay.io Push (Independent Operation)
976+
# ============================================
977+
- name: "[Quay.io] Login and Push"
962978
if: needs.PREPARE-job.outputs.quayio_available == 'true'
979+
continue-on-error: true
963980
run: |
981+
set +e # Don't exit on errors to allow independent execution
982+
echo "=========================================="
983+
echo " Quay.io Push Process"
984+
echo "=========================================="
985+
986+
# Login to Quay.io
987+
echo "🔐 Logging into Quay.io..."
988+
if podman login quay.io -u "${{ vars.QUAYIO_USERNAME }}" -p "${{ secrets.QUAYIO_TOKEN }}"; then
989+
echo "✓ Quay.io login successful"
990+
else
991+
echo "✗ Quay.io login failed"
992+
exit 1
993+
fi
994+
995+
# Tag and push
964996
image_tag="${{ steps.locate_and_load.outputs.image_tag }}"
965997
quayio_tag="quay.io/${{ vars.QUAYIO_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}"
966998
967-
echo "Tagging image for Quay.io:"
968-
echo " Source: $image_tag"
969-
echo " Target: $quayio_tag"
970-
971-
podman tag "$image_tag" "$quayio_tag"
999+
echo ""
1000+
echo "🏷️ Tagging image for Quay.io:"
1001+
echo " Source: $image_tag"
1002+
echo " Target: $quayio_tag"
9721003
973-
echo "Pushing to Quay.io..."
974-
podman push "$quayio_tag"
1004+
if podman tag "$image_tag" "$quayio_tag"; then
1005+
echo "✓ Image tagged successfully"
1006+
else
1007+
echo "✗ Image tagging failed"
1008+
exit 1
1009+
fi
9751010
976-
echo "✓ Successfully pushed to Quay.io: $quayio_tag"
1011+
echo ""
1012+
echo "📤 Pushing to Quay.io..."
1013+
if podman push "$quayio_tag"; then
1014+
echo "✅ Successfully pushed to Quay.io: $quayio_tag"
1015+
else
1016+
echo "❌ Failed to push to Quay.io"
1017+
exit 1
1018+
fi
9771019
9781020
- name: Cleanup local images
9791021
if: always() && (needs.PREPARE-job.outputs.dockerhub_available == 'true' || needs.PREPARE-job.outputs.quayio_available == 'true')
9801022
run: |
1023+
echo "🧹 Cleaning up local images..."
9811024
image_tag="${{ steps.locate_and_load.outputs.image_tag }}"
9821025
9831026
# Remove original image
984-
podman rmi "$image_tag" || true
1027+
echo "Removing base image: $image_tag"
1028+
podman rmi "$image_tag" 2>/dev/null || echo " (Base image already removed or not found)"
9851029
9861030
# Remove Docker Hub tagged image if it was created
9871031
if [ "${{ needs.PREPARE-job.outputs.dockerhub_available }}" = "true" ]; then
988-
podman rmi "${{ vars.DOCKERHUB_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}" || true
1032+
dockerhub_tag="${{ vars.DOCKERHUB_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}"
1033+
echo "Removing Docker Hub tag: $dockerhub_tag"
1034+
podman rmi "$dockerhub_tag" 2>/dev/null || echo " (Docker Hub tag already removed or not found)"
9891035
fi
9901036
9911037
# Remove Quay.io tagged image if it was created
9921038
if [ "${{ needs.PREPARE-job.outputs.quayio_available }}" = "true" ]; then
993-
podman rmi "quay.io/${{ vars.QUAYIO_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}" || true
1039+
quayio_tag="quay.io/${{ vars.QUAYIO_USERNAME }}/${DOCKERFILE_NAME}:${VERSION}"
1040+
echo "Removing Quay.io tag: $quayio_tag"
1041+
podman rmi "$quayio_tag" 2>/dev/null || echo " (Quay.io tag already removed or not found)"
9941042
fi
9951043
996-
echo " Local images cleaned up"
1044+
echo " Local image cleanup completed"
9971045
9981046
9991047

0 commit comments

Comments
 (0)