Build docker images (scheduled) #633
This file contains 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: Build docker images (scheduled) | |
on: | |
push: | |
branches: | |
- docker-image* | |
repository_dispatch: | |
workflow_call: | |
inputs: | |
image_postfix: | |
required: true | |
type: string | |
schedule: | |
- cron: "0 1 * * *" | |
concurrency: | |
group: docker-images-builds | |
cancel-in-progress: false | |
jobs: | |
latest-docker: | |
name: "Latest PyTorch + TensorFlow [dev]" | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v3 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-all-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-all-latest-gpu${{ inputs.image_postfix }} | |
# Push CI images still need to be re-built daily | |
- | |
name: Build and push (for Push CI) in a daily basis | |
# This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. | |
# The later case is useful for manual image building for debugging purpose. Use another tag in this case! | |
if: inputs.image_postfix != '-push-ci' | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-all-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-all-latest-gpu-push-ci | |
latest-with-torch-nightly-docker: | |
name: "Nightly PyTorch + Stable TensorFlow" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-all-latest-gpu | |
build-args: | | |
REF=main | |
PYTORCH=pre | |
push: true | |
tags: huggingface/transformers-all-latest-torch-nightly-gpu | |
latest-torch-deepspeed-docker: | |
name: "Latest PyTorch + DeepSpeed" | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-latest-gpu${{ inputs.image_postfix }} | |
# Can't build 2 images in a single job `latest-torch-deepspeed-docker` (for `nvcr.io/nvidia`) | |
latest-torch-deepspeed-docker-for-push-ci-daily-build: | |
name: "Latest PyTorch + DeepSpeed (Push CI - Daily Build)" | |
# Can't run in parallel, otherwise get an error: | |
# `Error response from daemon: Get "https://registry-1.docker.io/v2/": received unexpected HTTP status: 503 Service Unavailable` | |
needs: latest-torch-deepspeed-docker | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
# Push CI images still need to be re-built daily | |
- | |
name: Build and push (for Push CI) in a daily basis | |
# This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. | |
# The later case is useful for manual image building for debugging purpose. Use another tag in this case! | |
if: inputs.image_postfix != '-push-ci' | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci | |
nightly-torch-deepspeed-docker: | |
name: "Nightly PyTorch + DeepSpeed" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-nightly-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-nightly-gpu | |
doc-builder: | |
name: "Doc builder" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-doc-builder | |
push: true | |
tags: huggingface/transformers-doc-builder | |
latest-pytorch: | |
name: "Latest PyTorch [dev]" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-pytorch-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-gpu | |
latest-tensorflow: | |
name: "Latest TensorFlow [dev]" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- | |
name: Check out code | |
uses: actions/checkout@v2 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./docker/transformers-tensorflow-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-tensorflow-gpu |