aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2025-11-27 14:50:45 -0800
committerChris Lu <chris.lu@gmail.com>2025-11-27 14:50:45 -0800
commit3c1914532fb53585bec88176dbebfce501f76e30 (patch)
treeacc493b17f67804bc15ab1b3b4fb834f12e17788 /.github
parent75d593d7fa82c0146dea5150531c4b640dcba029 (diff)
downloadseaweedfs-3c1914532fb53585bec88176dbebfce501f76e30.tar.xz
seaweedfs-3c1914532fb53585bec88176dbebfce501f76e30.zip
re-organize github actions
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/container_latest.yml133
-rw-r--r--.github/workflows/container_release1.yml122
-rw-r--r--.github/workflows/container_release2.yml125
-rw-r--r--.github/workflows/container_release3.yml29
-rw-r--r--.github/workflows/container_release4.yml15
-rw-r--r--.github/workflows/container_release5.yml29
6 files changed, 320 insertions, 133 deletions
diff --git a/.github/workflows/container_latest.yml b/.github/workflows/container_latest.yml
index 2256e9e67..827d6364c 100644
--- a/.github/workflows/container_latest.yml
+++ b/.github/workflows/container_latest.yml
@@ -10,58 +10,133 @@ permissions:
contents: read
jobs:
-
- build-latest-container:
- runs-on: [ubuntu-latest]
-
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ platform: [amd64, arm64, arm, 386]
+ include:
+ - platform: amd64
+ qemu: false
+ - platform: arm64
+ qemu: true
+ - platform: arm
+ qemu: true
+ - platform: 386
+ qemu: true
steps:
- -
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
- -
- name: Docker meta
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Free Disk Space
+ run: |
+ echo "Available disk space before cleanup:"
+ df -h
+ # Remove pre-installed tools
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
+ # Clean package managers
+ sudo apt-get clean
+ sudo rm -rf /var/lib/apt/lists/*
+ # Clean Docker aggressively
+ sudo docker system prune -af --volumes
+ # Clean Go cache if it exists
+ [ -d ~/.cache/go-build ] && rm -rf ~/.cache/go-build || true
+ [ -d /go/pkg ] && rm -rf /go/pkg || true
+ echo "Available disk space after cleanup:"
+ df -h
+ - name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
images: |
chrislusf/seaweedfs
ghcr.io/chrislusf/seaweedfs
- tags: |
- type=raw,value=latest
+ tags: type=raw,value=latest
labels: |
org.opencontainers.image.title=seaweedfs
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
- -
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
+ - name: Set up QEMU
+ if: matrix.qemu
+ uses: docker/setup-qemu-action@v3
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: "--debug"
- -
- name: Login to Docker Hub
+ - name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- -
- name: Login to GHCR
+ - name: Login to GHCR
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_TOKEN }}
- -
- name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ - name: Build ${{ matrix.platform }}
+ uses: docker/build-push-action@v5
+ env:
+ DOCKER_BUILDKIT: 1
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
file: ./docker/Dockerfile.go_build
- platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
+ platforms: linux/${{ matrix.platform }}
+ tags: ${{ steps.docker_meta.outputs.tags }}-${{ matrix.platform }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+ build-args: |
+ BUILDKIT_INLINE_CACHE=1
+ BRANCH=${{ github.sha }}
+ - name: Clean up build artifacts
+ if: always()
+ run: |
+ # Clean up Docker build cache and temporary files
+ sudo docker system prune -f
+ # Remove Go build cache
+ sudo rm -rf /tmp/go-build*
+
+ create-manifest:
+ runs-on: ubuntu-latest
+ needs: [build]
+ if: github.event_name != 'pull_request'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Docker meta
+ id: docker_meta
+ uses: docker/metadata-action@v5
+ with:
+ images: |
+ chrislusf/seaweedfs
+ ghcr.io/chrislusf/seaweedfs
+ tags: type=raw,value=latest
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Login to GHCR
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_USERNAME }}
+ password: ${{ secrets.GHCR_TOKEN }}
+ - name: Create and push manifest
+ run: |
+ # Create manifest for Docker Hub
+ 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 \
+ ghcr.io/chrislusf/seaweedfs:latest-amd64 \
+ ghcr.io/chrislusf/seaweedfs:latest-arm64 \
+ ghcr.io/chrislusf/seaweedfs:latest-arm \
+ ghcr.io/chrislusf/seaweedfs:latest-386
diff --git a/.github/workflows/container_release1.yml b/.github/workflows/container_release1.yml
index 893bc4e88..682e3d48c 100644
--- a/.github/workflows/container_release1.yml
+++ b/.github/workflows/container_release1.yml
@@ -10,48 +10,104 @@ permissions:
contents: read
jobs:
- build-default-release-container:
- runs-on: [ubuntu-latest]
-
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ platform: [amd64, arm64, arm, 386]
+ include:
+ - platform: amd64
+ qemu: false
+ - platform: arm64
+ qemu: true
+ - platform: arm
+ qemu: true
+ - platform: 386
+ qemu: true
steps:
- -
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
- -
- name: Docker meta
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Free Disk Space
+ run: |
+ echo "Available disk space before cleanup:"
+ df -h
+ # Remove pre-installed tools
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
+ # Clean package managers
+ sudo apt-get clean
+ sudo rm -rf /var/lib/apt/lists/*
+ # Clean Docker aggressively
+ sudo docker system prune -af --volumes
+ # Clean Go cache if it exists
+ [ -d ~/.cache/go-build ] && rm -rf ~/.cache/go-build || true
+ [ -d /go/pkg ] && rm -rf /go/pkg || true
+ echo "Available disk space after cleanup:"
+ df -h
+ - name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
- images: |
- chrislusf/seaweedfs
- tags: |
- type=ref,event=tag
- flavor: |
- latest=false
- labels: |
- org.opencontainers.image.title=seaweedfs
- org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
- org.opencontainers.image.vendor=Chris Lu
- -
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
- -
- name: Login to Docker Hub
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag
+ flavor: latest=false
+ - name: Set up QEMU
+ if: matrix.qemu
+ uses: docker/setup-qemu-action@v3
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+ - name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- -
- name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ - name: Build ${{ matrix.platform }}
+ uses: docker/build-push-action@v5
+ env:
+ DOCKER_BUILDKIT: 1
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
file: ./docker/Dockerfile.go_build
- platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
+ platforms: linux/${{ matrix.platform }}
+ tags: ${{ steps.docker_meta.outputs.tags }}-${{ matrix.platform }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+ build-args: |
+ BUILDKIT_INLINE_CACHE=1
+ BRANCH=${{ github.sha }}
+ - name: Clean up build artifacts
+ if: always()
+ run: |
+ # Clean up Docker build cache and temporary files
+ sudo docker system prune -f
+ # Remove Go build cache
+ sudo rm -rf /tmp/go-build*
+
+ create-manifest:
+ runs-on: ubuntu-latest
+ needs: [build]
+ if: github.event_name != 'pull_request'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Docker meta
+ id: docker_meta
+ uses: docker/metadata-action@v5
+ with:
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag
+ flavor: latest=false
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Create and push manifest
+ run: |
+ 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 \
+ ${{ steps.docker_meta.outputs.tags }}-386
diff --git a/.github/workflows/container_release2.yml b/.github/workflows/container_release2.yml
index 13926a9ca..902d8592f 100644
--- a/.github/workflows/container_release2.yml
+++ b/.github/workflows/container_release2.yml
@@ -10,50 +10,105 @@ permissions:
contents: read
jobs:
-
- build-large-release-container:
- runs-on: [ubuntu-latest]
-
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ platform: [amd64, arm64, arm, 386]
+ include:
+ - platform: amd64
+ qemu: false
+ - platform: arm64
+ qemu: true
+ - platform: arm
+ qemu: true
+ - platform: 386
+ qemu: true
steps:
- -
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
- -
- name: Docker meta
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Free Disk Space
+ run: |
+ echo "Available disk space before cleanup:"
+ df -h
+ # Remove pre-installed tools
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
+ # Clean package managers
+ sudo apt-get clean
+ sudo rm -rf /var/lib/apt/lists/*
+ # Clean Docker aggressively
+ sudo docker system prune -af --volumes
+ # Clean Go cache if it exists
+ [ -d ~/.cache/go-build ] && rm -rf ~/.cache/go-build || true
+ [ -d /go/pkg ] && rm -rf /go/pkg || true
+ echo "Available disk space after cleanup:"
+ df -h
+ - name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
- images: |
- chrislusf/seaweedfs
- tags: |
- type=ref,event=tag,suffix=_large_disk
- flavor: |
- latest=false
- labels: |
- org.opencontainers.image.title=seaweedfs
- org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
- org.opencontainers.image.vendor=Chris Lu
- -
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
- -
- name: Login to Docker Hub
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag,suffix=_large_disk
+ flavor: latest=false
+ - name: Set up QEMU
+ if: matrix.qemu
+ uses: docker/setup-qemu-action@v3
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+ - name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- -
- name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ - name: Build ${{ matrix.platform }}
+ uses: docker/build-push-action@v5
+ env:
+ DOCKER_BUILDKIT: 1
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
file: ./docker/Dockerfile.go_build
- build-args: TAGS=5BytesOffset
- platforms: linux/amd64, linux/arm, linux/arm64, linux/386
- tags: ${{ steps.docker_meta.outputs.tags }}
+ build-args: |
+ TAGS=5BytesOffset
+ BUILDKIT_INLINE_CACHE=1
+ BRANCH=${{ github.sha }}
+ platforms: linux/${{ matrix.platform }}
+ tags: ${{ steps.docker_meta.outputs.tags }}-${{ matrix.platform }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+ - name: Clean up build artifacts
+ if: always()
+ run: |
+ # Clean up Docker build cache and temporary files
+ sudo docker system prune -f
+ # Remove Go build cache
+ sudo rm -rf /tmp/go-build*
+
+ create-manifest:
+ runs-on: ubuntu-latest
+ needs: [build]
+ if: github.event_name != 'pull_request'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Docker meta
+ id: docker_meta
+ uses: docker/metadata-action@v5
+ with:
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag,suffix=_large_disk
+ flavor: latest=false
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Create and push manifest
+ run: |
+ 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 \
+ ${{ steps.docker_meta.outputs.tags }}-386
diff --git a/.github/workflows/container_release3.yml b/.github/workflows/container_release3.yml
index 3b741f392..3085e9b80 100644
--- a/.github/workflows/container_release3.yml
+++ b/.github/workflows/container_release3.yml
@@ -17,38 +17,37 @@ jobs:
steps:
-
name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
+ uses: actions/checkout@v4
+ -
+ name: Free Disk Space
+ run: |
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
+ sudo docker system prune -af
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
- images: |
- chrislusf/seaweedfs
- tags: |
- type=ref,event=tag,suffix=_large_disk_rocksdb
- flavor: |
- latest=false
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag,suffix=_large_disk_rocksdb
+ flavor: latest=false
labels: |
org.opencontainers.image.title=seaweedfs
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
-
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
+ uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
-
name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ uses: docker/build-push-action@v5
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
@@ -58,3 +57,5 @@ jobs:
platforms: linux/amd64
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
diff --git a/.github/workflows/container_release4.yml b/.github/workflows/container_release4.yml
index 5f33b821a..8b0c5bfe6 100644
--- a/.github/workflows/container_release4.yml
+++ b/.github/workflows/container_release4.yml
@@ -16,7 +16,7 @@ jobs:
steps:
-
name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
+ uses: actions/checkout@v4
-
name: Free Disk Space
run: |
@@ -32,7 +32,7 @@ jobs:
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
images: |
chrislusf/seaweedfs
@@ -45,21 +45,18 @@ jobs:
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
-
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
+ uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
-
name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ uses: docker/build-push-action@v5
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
@@ -68,3 +65,5 @@ jobs:
platforms: linux/amd64
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
diff --git a/.github/workflows/container_release5.yml b/.github/workflows/container_release5.yml
index 72a4f3db7..8f01d8db4 100644
--- a/.github/workflows/container_release5.yml
+++ b/.github/workflows/container_release5.yml
@@ -16,38 +16,37 @@ jobs:
steps:
-
name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v2
+ uses: actions/checkout@v4
+ -
+ name: Free Disk Space
+ run: |
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
+ sudo docker system prune -af
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v3
+ uses: docker/metadata-action@v5
with:
- images: |
- chrislusf/seaweedfs
- tags: |
- type=ref,event=tag,suffix=_large_disk_full
- flavor: |
- latest=false
+ images: chrislusf/seaweedfs
+ tags: type=ref,event=tag,suffix=_large_disk_full
+ flavor: latest=false
labels: |
org.opencontainers.image.title=seaweedfs
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
org.opencontainers.image.vendor=Chris Lu
-
- name: Set up QEMU
- uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v1
- -
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v1
+ uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
if: github.event_name != 'pull_request'
- uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v1
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
-
name: Build
- uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v2
+ uses: docker/build-push-action@v5
with:
context: ./docker
push: ${{ github.event_name != 'pull_request' }}
@@ -56,3 +55,5 @@ jobs:
platforms: linux/amd64
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max