aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-11-27 22:50:29 -0800
committerchrislu <chris.lu@gmail.com>2025-11-27 22:50:29 -0800
commit0064e3720653ced63d8ca0594f0df3e55e228a71 (patch)
tree87d840af3273dc7f401051ddd0d1f8e76113b388 /.github
parent487c0f92a92f4be881fc2926f6f9f83bf842d33d (diff)
downloadseaweedfs-0064e3720653ced63d8ca0594f0df3e55e228a71.tar.xz
seaweedfs-0064e3720653ced63d8ca0594f0df3e55e228a71.zip
fix build issues
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/container_latest.yml35
-rw-r--r--.github/workflows/container_release1.yml30
-rw-r--r--.github/workflows/container_release2.yml30
3 files changed, 89 insertions, 6 deletions
diff --git a/.github/workflows/container_latest.yml b/.github/workflows/container_latest.yml
index 12c3b9d01..bffc7b15f 100644
--- a/.github/workflows/container_latest.yml
+++ b/.github/workflows/container_latest.yml
@@ -134,15 +134,42 @@ jobs:
password: ${{ secrets.GHCR_TOKEN }}
- name: Create and push manifest
run: |
- # Create manifest for Docker Hub
- docker buildx imagetools create -t chrislusf/seaweedfs:latest \
+ # Function to retry command with exponential backoff
+ retry_with_backoff() {
+ local max_attempts=5
+ local timeout=1
+ local attempt=1
+ local exit_code=0
+
+ while [ $attempt -le $max_attempts ]; do
+ if "$@"; then
+ return 0
+ else
+ exit_code=$?
+ fi
+
+ if [ $attempt -lt $max_attempts ]; then
+ echo "Attempt $attempt failed. Retrying in ${timeout}s..." >&2
+ sleep $timeout
+ timeout=$((timeout * 2))
+ fi
+
+ attempt=$((attempt + 1))
+ done
+
+ echo "Command failed after $max_attempts attempts" >&2
+ return $exit_code
+ }
+
+ # Create manifest for Docker Hub with retry
+ retry_with_backoff docker buildx imagetools create -t chrislusf/seaweedfs:latest \
chrislusf/seaweedfs:latest-amd64 \
chrislusf/seaweedfs:latest-arm64 \
chrislusf/seaweedfs:latest-arm \
chrislusf/seaweedfs:latest-386
- # Create manifest for GHCR
- docker buildx imagetools create -t ghcr.io/chrislusf/seaweedfs:latest \
+ # Create manifest for GHCR with retry
+ retry_with_backoff docker buildx imagetools create -t ghcr.io/chrislusf/seaweedfs:latest \
ghcr.io/chrislusf/seaweedfs:latest-amd64 \
ghcr.io/chrislusf/seaweedfs:latest-arm64 \
ghcr.io/chrislusf/seaweedfs:latest-arm \
diff --git a/.github/workflows/container_release1.yml b/.github/workflows/container_release1.yml
index 6c83e4a18..cf74ea3ca 100644
--- a/.github/workflows/container_release1.yml
+++ b/.github/workflows/container_release1.yml
@@ -114,7 +114,35 @@ jobs:
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create and push manifest
run: |
- docker buildx imagetools create -t ${{ steps.docker_meta.outputs.tags }} \
+ # Function to retry command with exponential backoff
+ retry_with_backoff() {
+ local max_attempts=5
+ local timeout=1
+ local attempt=1
+ local exit_code=0
+
+ while [ $attempt -le $max_attempts ]; do
+ if "$@"; then
+ return 0
+ else
+ exit_code=$?
+ fi
+
+ if [ $attempt -lt $max_attempts ]; then
+ echo "Attempt $attempt failed. Retrying in ${timeout}s..." >&2
+ sleep $timeout
+ timeout=$((timeout * 2))
+ fi
+
+ attempt=$((attempt + 1))
+ done
+
+ echo "Command failed after $max_attempts attempts" >&2
+ return $exit_code
+ }
+
+ # Create manifest with retry
+ retry_with_backoff docker buildx imagetools create -t ${{ steps.docker_meta.outputs.tags }} \
${{ steps.docker_meta.outputs.tags }}-amd64 \
${{ steps.docker_meta.outputs.tags }}-arm64 \
${{ steps.docker_meta.outputs.tags }}-arm \
diff --git a/.github/workflows/container_release2.yml b/.github/workflows/container_release2.yml
index e5b5efaf0..fd14b8f54 100644
--- a/.github/workflows/container_release2.yml
+++ b/.github/workflows/container_release2.yml
@@ -115,7 +115,35 @@ jobs:
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create and push manifest
run: |
- docker buildx imagetools create -t ${{ steps.docker_meta.outputs.tags }} \
+ # Function to retry command with exponential backoff
+ retry_with_backoff() {
+ local max_attempts=5
+ local timeout=1
+ local attempt=1
+ local exit_code=0
+
+ while [ $attempt -le $max_attempts ]; do
+ if "$@"; then
+ return 0
+ else
+ exit_code=$?
+ fi
+
+ if [ $attempt -lt $max_attempts ]; then
+ echo "Attempt $attempt failed. Retrying in ${timeout}s..." >&2
+ sleep $timeout
+ timeout=$((timeout * 2))
+ fi
+
+ attempt=$((attempt + 1))
+ done
+
+ echo "Command failed after $max_attempts attempts" >&2
+ return $exit_code
+ }
+
+ # Create manifest with retry
+ retry_with_backoff docker buildx imagetools create -t ${{ steps.docker_meta.outputs.tags }} \
${{ steps.docker_meta.outputs.tags }}-amd64 \
${{ steps.docker_meta.outputs.tags }}-arm64 \
${{ steps.docker_meta.outputs.tags }}-arm \