| name: publish-to-docker |
|
|
| on: |
| push: |
| branches: |
| - main |
| paths: |
| - pyproject.toml |
| - Dockerfile.cpu |
| - Dockerfile.gpu |
| - Dockerfile.runpod |
| workflow_dispatch: |
|
|
| jobs: |
| build-and-push-docker: |
| runs-on: ubuntu-latest |
| steps: |
| - name: Delete huge unnecessary tools folder |
| run: rm -rf /opt/hostedtoolcache |
|
|
| - name: Checkout |
| uses: actions/checkout@v4 |
|
|
| - name: Set up Python |
| uses: actions/setup-python@v5 |
| with: |
| python-version: '3.x' |
|
|
| - name: Install TOML |
| run: pip install toml |
|
|
| - name: Get version from pyproject.toml |
| run: | |
| VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['tool']['poetry']['version'])") |
| echo "VERSION=$VERSION" >> $GITHUB_ENV |
| |
| - 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 and push Docker image for CPU |
| if: ${{ github.ref == 'refs/heads/main' }} |
| uses: docker/build-push-action@v5 |
| with: |
| file: Dockerfile.cpu |
| context: . |
| platforms: linux/amd64,linux/arm64 |
| push: true |
| tags: | |
| beveradb/audio-separator:cpu-${{ env.VERSION }} |
| beveradb/audio-separator:cpu |
| beveradb/audio-separator:latest |
| |
| - name: Build and push Docker image for CUDA 11 GPU |
| if: ${{ github.ref == 'refs/heads/main' }} |
| uses: docker/build-push-action@v5 |
| with: |
| file: Dockerfile.cuda11 |
| context: . |
| platforms: linux/amd64 |
| push: true |
| tags: | |
| beveradb/audio-separator:gpu-${{ env.VERSION }} |
| beveradb/audio-separator:gpu |
| |
| - name: Build and push Docker image for CUDA 12 GPU |
| if: ${{ github.ref == 'refs/heads/main' }} |
| uses: docker/build-push-action@v5 |
| with: |
| file: Dockerfile.cuda12 |
| context: . |
| platforms: linux/amd64 |
| push: true |
| tags: | |
| beveradb/audio-separator:cuda12-${{ env.VERSION }} |
| beveradb/audio-separator:cuda12 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|