fix: use cu126 torch wheels and --index-url in GPU Docker images; bum… #4493
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: docker | |
| on: | |
| push: | |
| tags: ["v*.*.*"] | |
| workflow_dispatch: | |
| inputs: | |
| ludwig_version: | |
| description: "PyPI version to install, e.g. 0.13.0 (leave empty to build from source)" | |
| required: false | |
| default: "" | |
| latest: | |
| description: "Also tag as :latest" | |
| required: false | |
| type: boolean | |
| default: false | |
| jobs: | |
| docker: | |
| name: Build docker image ${{ matrix.docker-image }} | |
| if: github.repository == 'ludwig-ai/ludwig' | |
| runs-on: ubuntu-latest | |
| # cancel in-progress runs for the same branch/tag | |
| concurrency: | |
| group: docker-${{ matrix.docker-image }}-${{ inputs.ludwig_version || github.head_ref || github.sha }} | |
| cancel-in-progress: true | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| docker-image: | |
| - ludwig | |
| - ludwig-gpu | |
| - ludwig-ray | |
| - ludwig-ray-gpu | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Derive minor version tag | |
| id: version | |
| if: inputs.ludwig_version != '' | |
| run: | | |
| minor=$(echo "${{ inputs.ludwig_version }}" | cut -d. -f1-2) | |
| echo "minor=${minor}" >> "$GITHUB_OUTPUT" | |
| - name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v6 | |
| with: | |
| images: | | |
| ludwigai/${{ matrix.docker-image }} | |
| tags: | | |
| # versioned dispatch: use explicit PyPI version tags | |
| type=raw,value=${{ inputs.ludwig_version }},enable=${{ inputs.ludwig_version != '' }} | |
| type=raw,value=${{ steps.version.outputs.minor }},enable=${{ inputs.ludwig_version != '' }} | |
| type=raw,value=latest,enable=${{ inputs.ludwig_version != '' && inputs.latest }} | |
| # tag push: derive tags from git ref | |
| type=semver,pattern={{version}},enable=${{ inputs.ludwig_version == '' }} | |
| type=semver,pattern={{major}}.{{minor}},enable=${{ inputs.ludwig_version == '' }} | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Login to DockerHub | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build and push | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| file: ./docker/${{ matrix.docker-image }}/Dockerfile | |
| push: ${{ github.event_name != 'pull_request' }} | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| LUDWIG_VERSION=${{ inputs.ludwig_version }} |