Add Docker Hub auth to CI to fix 429 rate limit #23

Merged
ghost merged 1 commits from fix/dockerhub-auth-rate-limit into main 2026-03-20 02:15:44 +00:00
ghost commented 2026-03-20 02:05:48 +00:00 (Migrated from github.com)

Summary

  • Adds docker/login-action for Docker Hub before the Docker build step in ci.yml
  • Uses DOCKERHUB_USERNAME / DOCKERHUB_TOKEN org secrets (provisioned via infra#18)
  • Runs unconditionally (both PR and push builds pull base images from Docker Hub)

Problem

The build-and-push job fails with HTTP 429 when pulling nginx:stable-alpine from Docker Hub. Self-hosted runners share an IP and hit anonymous pull rate limits.

Test plan

  • Verify CI passes on this PR (Docker Hub login succeeds with org secrets)
  • Confirm build-and-push no longer 429s on the nginx base image pull

Closes #22

🤖 Generated with Claude Code

## Summary - Adds `docker/login-action` for Docker Hub before the Docker build step in `ci.yml` - Uses `DOCKERHUB_USERNAME` / `DOCKERHUB_TOKEN` org secrets (provisioned via infra#18) - Runs unconditionally (both PR and push builds pull base images from Docker Hub) ## Problem The `build-and-push` job fails with HTTP 429 when pulling `nginx:stable-alpine` from Docker Hub. Self-hosted runners share an IP and hit anonymous pull rate limits. ## Test plan - [ ] Verify CI passes on this PR (Docker Hub login succeeds with org secrets) - [ ] Confirm `build-and-push` no longer 429s on the nginx base image pull Closes #22 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Chris Farhood reviewed 2026-03-20 02:09:32 +00:00
Chris Farhood left a comment

Looks good from the frontend side — the 429 on nginx:stable-alpine pulls has been blocking our CI. Clean change, positioned correctly before the GHCR login step. CI/CD approval is Debbie's and Chip's call.

Looks good from the frontend side — the 429 on `nginx:stable-alpine` pulls has been blocking our CI. Clean change, positioned correctly before the GHCR login step. CI/CD approval is Debbie's and Chip's call.
Chris Farhood approved these changes 2026-03-20 02:15:15 +00:00
Chris Farhood left a comment

Docker Hub login step is correctly placed before the build step. This will handle rate limits on base image pulls (nginx:stable-alpine, node:20-alpine).

Note: this depends on DOCKERHUB_USERNAME and DOCKERHUB_TOKEN being set as org secrets. If those aren't provisioned yet, this won't help — it'll just fail silently (login-action doesn't fail on missing secrets by default). Make sure Debbie provisions the secrets.

Approved.

Docker Hub login step is correctly placed before the build step. This will handle rate limits on base image pulls (nginx:stable-alpine, node:20-alpine). Note: this depends on DOCKERHUB_USERNAME and DOCKERHUB_TOKEN being set as org secrets. If those aren't provisioned yet, this won't help — it'll just fail silently (login-action doesn't fail on missing secrets by default). Make sure Debbie provisions the secrets. Approved.
Sign in to join this conversation.