Build docker images (scheduled) #395
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: | |
- build_ci_docker_image* | |
repository_dispatch: | |
workflow_call: | |
inputs: | |
image_postfix: | |
required: true | |
type: string | |
schedule: | |
- cron: "17 0 * * *" | |
concurrency: | |
group: docker-images-builds | |
cancel-in-progress: false | |
jobs: | |
latest-docker: | |
name: "Latest PyTorch + TensorFlow [dev]" | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
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@v5 | |
with: | |
context: ./docker/transformers-all-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-all-latest-gpu-push-ci | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the transformers-all-latest-gpu-push-ci docker build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-torch-deepspeed-docker: | |
name: "Latest PyTorch + DeepSpeed" | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-latest-gpu${{ inputs.image_postfix }} | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER}} | |
title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu docker build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
# 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)" | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
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@v5 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu-push-ci docker build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
doc-builder: | |
name: "Doc builder" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-doc-builder | |
push: true | |
tags: huggingface/transformers-doc-builder | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the huggingface/transformers-doc-builder docker build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-pytorch: | |
name: "Latest PyTorch [dev]" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-pytorch-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-gpu | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the huggingface/transformers-pytorch-gpudocker build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-pytorch-amd: | |
name: "Latest PyTorch (AMD) [dev]" | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-pytorch-amd-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-amd-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@v5 | |
with: | |
context: ./docker/transformers-pytorch-amd-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-amd-gpu-push-ci | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the huggingface/transformers-pytorch-amd-gpu-push-ci build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-tensorflow: | |
name: "Latest TensorFlow [dev]" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-tensorflow-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-tensorflow-gpu | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the huggingface/transformers-tensorflow-gpu build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-pytorch-deepspeed-amd: | |
name: "PyTorch + DeepSpeed (AMD) [dev]" | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-amd-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-amd-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@v5 | |
with: | |
context: ./docker/transformers-pytorch-deepspeed-amd-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-pytorch-deepspeed-amd-gpu-push-ci | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the transformers-pytorch-deepspeed-amd-gpu build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} | |
latest-quantization-torch-docker: | |
name: "Latest Pytorch + Quantization [dev]" | |
# Push CI doesn't need this image | |
if: inputs.image_postfix != '-push-ci' | |
runs-on: [intel-cpu, 8-cpu, ci] | |
steps: | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Check out code | |
uses: actions/checkout@v4 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- | |
name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./docker/transformers-quantization-latest-gpu | |
build-args: | | |
REF=main | |
push: true | |
tags: huggingface/transformers-quantization-latest-gpu${{ inputs.image_postfix }} | |
- name: Post to Slack | |
if: always() | |
uses: huggingface/hf-workflows/.github/actions/post-slack@main | |
with: | |
slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} | |
title: 🤗 Results of the transformers-quantization-latest-gpu build | |
status: ${{ job.status }} | |
slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} |