diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 1f07558..07a5467 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -6,7 +6,7 @@ on: - '*' env: - DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} + DOCKER_REGISTRY: docker.io DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }} GITHUB_CONTAINER_REGISTRY: ghcr.io @@ -26,35 +26,11 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_ACCESS_TOKEN }} + - name: Login to DockerHub + run: echo -n "$DOCKER_ACCESS_TOKEN" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + run: echo -n "${{ secrets.GITHUB_TOKEN }}" | docker login "$GITHUB_CONTAINER_REGISTRY" -u "${{ github.actor }}" --password-stdin - - name: Build and push Docker image - run: | - # Build image with version tag - docker build -t thehale/speedtest:${{ steps.get_tag.outputs.TAG }} . - - # Tag as latest - docker tag thehale/speedtest:${{ steps.get_tag.outputs.TAG }} thehale/speedtest:latest - - # Tag for GitHub Container Registry - docker tag thehale/speedtest:${{ steps.get_tag.outputs.TAG }} ghcr.io/thehale/speedtest:${{ steps.get_tag.outputs.TAG }} - docker tag thehale/speedtest:latest ghcr.io/thehale/speedtest:latest - - # Push to Docker Hub - docker push thehale/speedtest:${{ steps.get_tag.outputs.TAG }} - docker push thehale/speedtest:latest - - # Push to GitHub Container Registry - docker push ghcr.io/thehale/speedtest:${{ steps.get_tag.outputs.TAG }} - docker push ghcr.io/thehale/speedtest:latest + - name: Run publish script + run: ./bin/publish.sh ${{ steps.get_tag.outputs.TAG }} diff --git a/bin/publish.sh b/bin/publish.sh index 58bb911..d3a5f22 100755 --- a/bin/publish.sh +++ b/bin/publish.sh @@ -35,12 +35,14 @@ echo "Docker Hub: $DOCKER_HUB_REPO" echo "GitHub Registry: $GITHUB_REGISTRY/$GITHUB_REPO" echo "" -# Verify we're logged in -echo "Checking Docker Hub login..." -if ! docker info | grep -q "Username"; then - echo "Error: Not logged in to Docker Hub" - echo "Please run: docker login" - exit 1 +# Verify we're logged in (skip check in CI environments) +if [ -z "$CI" ]; then + echo "Checking Docker Hub login..." + if ! docker info 2>/dev/null | grep -q "Username"; then + echo "Error: Not logged in to Docker Hub" + echo "Please run: docker login" + exit 1 + fi fi # Build the image