lightning/.github/workflows/ci_dockers.yml

150 lines
4.7 KiB
YAML
Raw Normal View History

name: Docker
# https://www.docker.com/blog/first-docker-github-action-is-here
# https://github.com/docker/build-push-action
# see: https://help.github.com/en/actions/reference/events-that-trigger-workflows
on: # Trigger the workflow on push or pull request, but only for the master branch
push:
branches: [master, "release/*"] # include release branches like release/1.0.x
pull_request:
branches: [master, "release/*"]
paths:
- "dockers/**"
- "!dockers/README.md"
- "requirements/*"
- "environment.yml"
- "requirements.txt"
- ".github/workflows/*docker*.yml"
- ".github/workflows/events-nightly.yml"
- "setup.py"
jobs:
build-PL:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# the config used in '.azure-pipelines/gpu-tests.yml' since the Dockerfile uses the cuda image
python_version: ["3.7"]
pytorch_version: ["1.8"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build PL Docker
# publish master/release
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
PYTORCH_VERSION=${{ matrix.pytorch_version }}
file: dockers/release/Dockerfile
push: false
timeout-minutes: 50
build-XLA:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# the config used in '.circleci/config.yml`'
python_version: ["3.7"]
xla_version: ["1.8"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build XLA Docker
# publish master/release
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
XLA_VERSION=${{ matrix.xla_version }}
file: dockers/base-xla/Dockerfile
push: false
2021-10-25 20:56:47 +00:00
timeout-minutes: 60
build-CUDA:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# the config used in '.azure-pipelines/gpu-tests.yml'
python_version: ["3.7"]
pytorch_version: ["1.8"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build CUDA Docker
# publish master/release
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
PYTORCH_VERSION=${{ matrix.pytorch_version }}
file: dockers/base-cuda/Dockerfile
push: false
2021-10-25 20:56:47 +00:00
timeout-minutes: 75
build-Conda:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# the config used in '.github/workflows/ci_test-conda.yml'
2021-11-04 17:26:24 +00:00
python_version: ["3.8"]
2021-11-08 11:29:39 +00:00
pytorch_version: ["1.7", "1.8", "1.9", "1.10"]
steps:
- name: Checkout
uses: actions/checkout@v2
- run: |
cuda=$(python -c "from distutils.version import LooseVersion as LVer ; print(11.1 if LVer('${{matrix.pytorch_version}}') > LVer('1.7') else 10.2)" 2>&1)
echo "::set-output name=CUDA::$cuda"
id: extend
- name: Build Conda Docker
# publish master/release
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
PYTORCH_VERSION=${{ matrix.pytorch_version }}
CUDA_VERSION=${{ steps.extend.outputs.CUDA }}
file: dockers/base-conda/Dockerfile
push: false
2021-10-25 20:56:47 +00:00
timeout-minutes: 75
2021-05-07 12:07:29 +00:00
build-ipu:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# the config used in 'dockers/ipu-ci-runner/Dockerfile'
2021-11-04 17:26:24 +00:00
python_version: ["3.9"] # latest
# TODO: upgrade - PopTorch 2.2 uses torch 1.9, see:
# https://docs.graphcore.ai/projects/poptorch-user-guide/en/latest/installation.html#version-compatibility
pytorch_version: ["1.7"]
2021-05-07 12:07:29 +00:00
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build IPU Docker
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
PYTORCH_VERSION=${{ matrix.pytorch_version }}
file: dockers/base-ipu/Dockerfile
push: false
tags: pytorchlightning/pytorch_lightning:base-ipu-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }}
timeout-minutes: 50
- name: Build IPU CI runner Docker
uses: docker/build-push-action@v2
with:
build-args: |
PYTHON_VERSION=${{ matrix.python_version }}
PYTORCH_VERSION=${{ matrix.pytorch_version }}
file: dockers/ipu-ci-runner/Dockerfile
push: false
2021-10-25 20:56:47 +00:00
timeout-minutes: 60