|
@@ -1,28 +1,59 @@
|
|
|
name: Publish Docker image
|
|
|
|
|
|
on:
|
|
|
- push:
|
|
|
- tags:
|
|
|
- - "v*.*.*"
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - "main"
|
|
|
+ tags:
|
|
|
+ - "v*.*.*"
|
|
|
+ pull_request:
|
|
|
+ branches:
|
|
|
+ - "main"
|
|
|
|
|
|
jobs:
|
|
|
- push_to_registry:
|
|
|
- name: Push Docker image to Docker Hub
|
|
|
- runs-on: ubuntu-latest
|
|
|
- steps:
|
|
|
- - name: Checkout
|
|
|
- uses: actions/checkout@v3
|
|
|
- - name: Login to Docker Hub
|
|
|
- uses: docker/login-action@v1
|
|
|
- with:
|
|
|
- username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
|
- password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
|
- - name: Set up Docker Buildx
|
|
|
- uses: docker/setup-buildx-action@v1
|
|
|
- - name: Build and push
|
|
|
- uses: docker/build-push-action@v2
|
|
|
- with:
|
|
|
- context: .
|
|
|
- file: ./Dockerfile
|
|
|
- push: true
|
|
|
- tags: ${{ secrets.DOCKER_HUB_USERNAME }}/rembg:latest
|
|
|
+ push_to_registry:
|
|
|
+ name: Push Docker image to Docker Hub
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
+ - name: Checkout
|
|
|
+ uses: actions/checkout@v4
|
|
|
+
|
|
|
+ - name: Docker meta
|
|
|
+ id: meta
|
|
|
+ uses: docker/metadata-action@v5
|
|
|
+ with:
|
|
|
+ # list of Docker images to use as base name for tags
|
|
|
+ images: |
|
|
|
+ ${{ secrets.DOCKER_HUB_USERNAME }}/rembg
|
|
|
+ # generate Docker tags based on the following events/attributes
|
|
|
+ tags: |
|
|
|
+ type=ref,event=branch
|
|
|
+ type=ref,event=branch
|
|
|
+ type=ref,event=pr
|
|
|
+ type=semver,pattern={{version}}
|
|
|
+ type=semver,pattern={{major}}.{{minor}}
|
|
|
+ type=semver,pattern={{major}}
|
|
|
+ type=sha
|
|
|
+
|
|
|
+ - name: Set up QEMU
|
|
|
+ uses: docker/setup-qemu-action@v3
|
|
|
+
|
|
|
+ - name: Set up Docker Buildx
|
|
|
+ uses: docker/setup-buildx-action@v3
|
|
|
+
|
|
|
+ - name: Login to Docker Hub
|
|
|
+ uses: docker/login-action@v3
|
|
|
+ with:
|
|
|
+ username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
|
+ password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
|
+
|
|
|
+ - name: Build and push
|
|
|
+ uses: docker/build-push-action@v5
|
|
|
+ with:
|
|
|
+ context: .
|
|
|
+ platforms: linux/amd64,linux/arm64
|
|
|
+ push: ${{ github.event_name != 'pull_request' }}
|
|
|
+ tags: ${{ steps.meta.outputs.tags }}
|
|
|
+ labels: ${{ steps.meta.outputs.labels }}
|
|
|
+ cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/rembg:buildcache
|
|
|
+ cache-to: type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/rembg:buildcache,mode=max
|