181 lines
6.0 KiB
YAML
181 lines
6.0 KiB
YAML
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:
|
|
- "!src/lightning_app/**" # todo: implement job skip
|
|
- "dockers/**"
|
|
- "!dockers/README.md"
|
|
- "requirements/*"
|
|
- "requirements.txt"
|
|
- "environment.yml"
|
|
- ".github/workflows/*docker*.yml"
|
|
- ".github/workflows/events-nightly.yml"
|
|
- "setup.py"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }}
|
|
cancel-in-progress: ${{ ! (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release/')) }}
|
|
|
|
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.9"]
|
|
pytorch_version: ["1.10", "1.11"]
|
|
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.11"]
|
|
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
|
|
timeout-minutes: 60
|
|
|
|
build-CUDA:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
# the config used in '.azure-pipelines/gpu-tests.yml'
|
|
- {python_version: "3.7", pytorch_version: "1.10", cuda_version: "11.1", ubuntu_version: "20.04"}
|
|
- {python_version: "3.7", pytorch_version: "1.11", cuda_version: "11.3.1", ubuntu_version: "20.04"}
|
|
# latest (used in Tutorials)
|
|
- {python_version: "3.8", pytorch_version: "1.9", cuda_version: "11.1", ubuntu_version: "20.04"}
|
|
- {python_version: "3.9", pytorch_version: "1.10", cuda_version: "11.1", ubuntu_version: "20.04"}
|
|
- {python_version: "3.9", pytorch_version: "1.11", cuda_version: "11.3.1", ubuntu_version: "20.04"}
|
|
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 }}
|
|
CUDA_VERSION=${{ matrix.cuda_version }}
|
|
UBUNTU_VERSION=${{ matrix.ubuntu_version }}
|
|
file: dockers/base-cuda/Dockerfile
|
|
push: false
|
|
timeout-minutes: 95
|
|
|
|
build-Conda:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
# see: https://pytorch.org/get-started/previous-versions/
|
|
- {python_version: "3.8", pytorch_version: "1.9", cuda_version: "11.1"}
|
|
- {python_version: "3.8", pytorch_version: "1.10", cuda_version: "11.1"}
|
|
- {python_version: "3.9", pytorch_version: "1.11", cuda_version: "11.3.1"}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- 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=${{ matrix.cuda_version }}
|
|
file: dockers/base-conda/Dockerfile
|
|
push: false
|
|
timeout-minutes: 95
|
|
|
|
build-ipu:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# the config used in 'dockers/ci-runner-ipu/Dockerfile'
|
|
python_version: ["3.9"] # latest
|
|
pytorch_version: ["1.9"]
|
|
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/ci-runner-ipu/Dockerfile
|
|
push: false
|
|
timeout-minutes: 60
|
|
|
|
build-hpu:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# the config used in 'dockers/ci-runner-hpu/Dockerfile'
|
|
gaudi_version: ["1.5.0"]
|
|
pytorch_version: ["1.11.0"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Build HPU CI runner Docker
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
build-args: |
|
|
DIST=latest
|
|
GAUDI_VERSION=${{ matrix.gaudi_version }}
|
|
PYTORCH_VERSION=${{ matrix.pytorch_version }}
|
|
file: dockers/ci-runner-hpu/Dockerfile
|
|
push: false
|
|
timeout-minutes: 60
|