Skip to content

feat: retry docker manifest, retry configurations#5978

Merged
caarlos0 merged 3 commits intomainfrom
retries
Aug 14, 2025
Merged

feat: retry docker manifest, retry configurations#5978
caarlos0 merged 3 commits intomainfrom
retries

Conversation

@caarlos0
Copy link
Copy Markdown
Member

  • adds avast/retry in favor of our manual retries here and there
  • makes retries configurable for docker images and manifests
  • use retries in docker manifest create and push

closes #5967
fixes #5853

- adds avast/retry in favor of our manual retries here and there
- makes retries configurable for docker images and manifests
- use retries in docker manifest create and push

closes #5967
fixes #5853

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
@caarlos0 caarlos0 self-assigned this Aug 14, 2025
@caarlos0 caarlos0 marked this pull request as ready for review August 14, 2025 04:11
@pull-request-size pull-request-size Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 14, 2025
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Aug 14, 2025

Deploying goreleaser with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3c0356c
Status: ✅  Deploy successful!
Preview URL: https://64dbd8c1.goreleaser.pages.dev
Branch Preview URL: https://retries.goreleaser.pages.dev

View logs

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 14, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.75%. Comparing base (15bb0ca) to head (3c0356c).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5978      +/-   ##
==========================================
+ Coverage   82.61%   82.75%   +0.14%     
==========================================
  Files         165      165              
  Lines       16594    16568      -26     
==========================================
+ Hits        13709    13711       +2     
+ Misses       2290     2265      -25     
+ Partials      595      592       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caarlos0 caarlos0 requested a review from Copilot August 14, 2025 04:53
Copy link
Copy Markdown
Contributor

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 introduces centralized retry functionality using the avast/retry-go/v4 library to replace manual retry implementations across Docker operations and git cloning. The goal is to make retry configurations configurable for Docker images and manifests while standardizing retry behavior.

  • Adds configurable retry settings for Docker images and manifests
  • Replaces manual retry loops with the avast/retry-go library
  • Standardizes retry behavior across Docker manifest creation, pushing, and git clone operations

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
go.mod Adds avast/retry-go/v4 dependency
pkg/config/config.go Adds Retry struct and integrates it into Docker and DockerManifest configs
www/docs/customization/docker.md Documents new retry configuration for Docker push operations
www/docs/customization/docker_manifest.md Documents new retry configuration for Docker manifest operations
internal/pipe/docker/docker.go Replaces manual retry loop with retry-go library for Docker push operations
internal/pipe/docker/manifest.go Adds retry functionality to manifest create and push operations
internal/pipe/docker/api_docker.go Removes manual retry logic from Docker manifest creation
internal/pipe/release/release.go Replaces manual retry loop with retry-go library for release uploads
internal/client/git.go Replaces manual retry loop with retry-go library for git clone operations
internal/pipe/docker/docker_test.go Adds tests for default retry configurations
internal/pipe/release/release_test.go Updates test expectations for new error message format

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread internal/pipe/docker/docker.go
Comment thread internal/pipe/docker/manifest.go
Comment thread internal/pipe/docker/manifest.go Outdated
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
@caarlos0 caarlos0 merged commit dec0744 into main Aug 14, 2025
17 of 18 checks passed
@caarlos0 caarlos0 deleted the retries branch August 14, 2025 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docker manifests should retry pushes

2 participants