Skip to content

CI: retry Docker Hub pulls + pin tags in smoke-test refresh step#369

Open
danielnovais-tech wants to merge 2 commits intocanonical:mainfrom
danielnovais-tech:ci/retry-dockerhub-pulls
Open

CI: retry Docker Hub pulls + pin tags in smoke-test refresh step#369
danielnovais-tech wants to merge 2 commits intocanonical:mainfrom
danielnovais-tech:ci/retry-dockerhub-pulls

Conversation

@danielnovais-tech
Copy link
Copy Markdown

No description provided.

Copilot AI review requested due to automatic review settings April 9, 2026 23:13
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the smoke-test GitHub Actions workflow to reduce CI flakiness from transient Docker Hub errors and to make the “refresh” portion of the smoke test more deterministic by avoiding :latest.

Changes:

  • Added an exponential-backoff pull_with_retry helper for Docker image pulls.
  • Updated the set of smoke-test containers to use specific tags instead of implicit :latest.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/smoke-test.yml Outdated
Comment on lines +126 to +128
echo "Pull failed (attempt $attempt/$max_attempts) for $image, retrying in ${wait_time}s..."
sleep "$wait_time"
wait_time=$((wait_time * 2))
Comment thread .github/workflows/smoke-test.yml Outdated
Comment on lines +135 to +152
# Run containers with pinned tags (avoid :latest drift)
pull_with_retry redis:7
sudo docker run --restart=always -d redis:7

pull_with_retry rabbitmq:3.13
sudo docker run --restart=always -d rabbitmq:3.13

pull_with_retry grafana/grafana:11
sudo docker run --restart=always -d grafana/grafana:11

pull_with_retry jenkins/jenkins:2.462
sudo docker run --restart=always -d jenkins/jenkins:2.462

pull_with_retry nginx:1.27
sudo docker run --restart=always -d nginx:1.27

pull_with_retry postgres:17
sudo docker run --restart=always -d -e POSTGRES_HOST_AUTH_METHOD=trust postgres:17
@danielnovais-tech
Copy link
Copy Markdown
Author

@copilot apply changes based on the comments in this thread

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants