diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..f410336 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,42 @@ +name: Docker CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout Project + uses: actions/checkout@v2 + + - name: Determine SHA tag for Docker image + id: tag + run: | + SHA=${{ github.event.after }} + SHORT_SHA=${SHA::8} + echo "short_sha=${SHORT_SHA}" | tee "$GITHUB_OUTPUT" + + - 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.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build with Docker + uses: docker/build-push-action@v5 + with: + push: ${{ github.ref == 'refs/heads/master' }} + tags: ${{ secrets.DOCKERHUB_REPO }}:latest,${{ secrets.DOCKERHUB_REPO }}:${{ steps.tag.outputs.short_sha }} + platforms: linux/amd64,linux/arm64