2020-09-10 22:38:29 +00:00
|
|
|
name: CI build 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
|
2021-01-06 16:59:42 +00:00
|
|
|
on: # Trigger the workflow on push or pull request, but only for the master branch
|
2020-09-10 22:38:29 +00:00
|
|
|
push:
|
2021-01-06 16:59:42 +00:00
|
|
|
branches: [master, "release/*"] # include release branches like release/1.0.x
|
2020-09-10 22:38:29 +00:00
|
|
|
pull_request:
|
2020-11-04 09:08:37 +00:00
|
|
|
branches: [master, "release/*"]
|
2021-01-06 16:59:42 +00:00
|
|
|
paths:
|
|
|
|
- "dockers/**"
|
|
|
|
- "!dockers/README.md"
|
2021-05-03 23:06:28 +00:00
|
|
|
- "requirements/*"
|
2021-01-06 16:59:42 +00:00
|
|
|
- "environment.yml"
|
|
|
|
- "requirements.txt"
|
2021-02-09 08:22:35 +00:00
|
|
|
- ".github/workflows/*docker*.yml"
|
2021-01-10 20:33:46 +00:00
|
|
|
- ".github/workflows/events-nightly.yml"
|
2021-01-06 16:59:42 +00:00
|
|
|
- "setup.py"
|
2020-09-10 22:38:29 +00:00
|
|
|
|
|
|
|
jobs:
|
2020-10-26 10:47:09 +00:00
|
|
|
build-PL:
|
2020-09-10 22:38:29 +00:00
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2021-05-05 09:01:03 +00:00
|
|
|
python_version: [3.7]
|
|
|
|
pytorch_version: [1.4, 1.8]
|
2020-09-10 22:38:29 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2020-10-26 10:47:09 +00:00
|
|
|
- name: Build PL Docker
|
2020-11-04 09:08:37 +00:00
|
|
|
# publish master/release
|
2020-10-25 12:16:10 +00:00
|
|
|
uses: docker/build-push-action@v2
|
2020-09-10 22:38:29 +00:00
|
|
|
with:
|
2020-10-25 12:16:10 +00:00
|
|
|
build-args: |
|
|
|
|
PYTHON_VERSION=${{ matrix.python_version }}
|
|
|
|
PYTORCH_VERSION=${{ matrix.pytorch_version }}
|
2020-10-26 10:47:09 +00:00
|
|
|
file: dockers/release/Dockerfile
|
2020-09-10 22:38:29 +00:00
|
|
|
push: false
|
2020-09-22 23:41:35 +00:00
|
|
|
timeout-minutes: 50
|
2020-09-10 22:38:29 +00:00
|
|
|
|
|
|
|
build-XLA:
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
python_version: [3.7]
|
2021-05-05 09:01:03 +00:00
|
|
|
xla_version: [1.6, 1.8, "nightly"]
|
2020-09-10 22:38:29 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2020-10-25 12:16:10 +00:00
|
|
|
- name: Build XLA Docker
|
2020-11-04 09:08:37 +00:00
|
|
|
# publish master/release
|
2020-10-25 12:16:10 +00:00
|
|
|
uses: docker/build-push-action@v2
|
2020-09-10 22:38:29 +00:00
|
|
|
with:
|
2020-10-25 12:16:10 +00:00
|
|
|
build-args: |
|
|
|
|
PYTHON_VERSION=${{ matrix.python_version }}
|
|
|
|
XLA_VERSION=${{ matrix.xla_version }}
|
|
|
|
file: dockers/base-xla/Dockerfile
|
2020-09-10 22:38:29 +00:00
|
|
|
push: false
|
2020-09-22 23:41:35 +00:00
|
|
|
timeout-minutes: 50
|
2020-09-10 22:38:29 +00:00
|
|
|
|
2020-09-17 18:30:39 +00:00
|
|
|
build-cuda:
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
include:
|
2020-11-12 14:03:43 +00:00
|
|
|
# todo: see notes in Dockerfile
|
2020-10-02 09:26:21 +00:00
|
|
|
- python_version: 3.6
|
2021-01-13 00:15:35 +00:00
|
|
|
pytorch_version: 1.4
|
2021-02-16 18:46:28 +00:00
|
|
|
- python_version: 3.7
|
|
|
|
pytorch_version: 1.7
|
2021-05-05 12:26:22 +00:00
|
|
|
- python_version: 3.8
|
|
|
|
pytorch_version: 1.8
|
|
|
|
# - python_version: 3.9
|
|
|
|
# pytorch_version: 1.9
|
2020-09-17 18:30:39 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2021-02-16 18:46:28 +00:00
|
|
|
# for PT 1.4 we need to use CUDA 10.1
|
2020-10-26 10:47:09 +00:00
|
|
|
- run: |
|
2021-02-16 18:46:28 +00:00
|
|
|
cuda=$(python -c "print(10.2 if float(${{matrix.pytorch_version}}) >= 1.5 else 10.1)" 2>&1)
|
2020-10-26 10:47:09 +00:00
|
|
|
echo "::set-output name=CUDA::$cuda"
|
|
|
|
id: extend
|
2020-10-25 12:16:10 +00:00
|
|
|
|
|
|
|
- name: Build CUDA Docker
|
2020-11-04 09:08:37 +00:00
|
|
|
# publish master/release
|
2020-10-25 12:16:10 +00:00
|
|
|
uses: docker/build-push-action@v2
|
2020-09-17 18:30:39 +00:00
|
|
|
with:
|
2020-10-25 12:16:10 +00:00
|
|
|
build-args: |
|
|
|
|
PYTHON_VERSION=${{ matrix.python_version }}
|
|
|
|
PYTORCH_VERSION=${{ matrix.pytorch_version }}
|
2020-10-26 10:47:09 +00:00
|
|
|
CUDA_VERSION=${{ steps.extend.outputs.CUDA }}
|
2020-10-25 12:16:10 +00:00
|
|
|
file: dockers/base-cuda/Dockerfile
|
2020-09-17 18:30:39 +00:00
|
|
|
push: false
|
2020-09-22 23:41:35 +00:00
|
|
|
timeout-minutes: 50
|
2020-10-26 10:47:09 +00:00
|
|
|
|
|
|
|
build-conda:
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- python_version: 3.6
|
|
|
|
pytorch_version: 1.4
|
2020-10-31 13:47:07 +00:00
|
|
|
- python_version: 3.7
|
|
|
|
pytorch_version: 1.7
|
2021-03-29 16:20:13 +00:00
|
|
|
- python_version: 3.8
|
2020-11-12 14:03:43 +00:00
|
|
|
pytorch_version: 1.8
|
2021-05-05 12:26:22 +00:00
|
|
|
- python_version: 3.9
|
|
|
|
pytorch_version: 1.9
|
2020-10-26 10:47:09 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
# for PT 1.3 and 1.4 we need to use CUDA 10.1
|
|
|
|
- run: |
|
|
|
|
cuda=$(python -c "print(10.2 if float(${{matrix.pytorch_version}}) > 1.4 else 10.1)" 2>&1)
|
|
|
|
echo "::set-output name=CUDA::$cuda"
|
|
|
|
id: extend
|
|
|
|
|
|
|
|
- name: Build CUDA Docker
|
2020-11-04 09:08:37 +00:00
|
|
|
# publish master/release
|
2020-10-26 10:47:09 +00:00
|
|
|
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
|
|
|
|
timeout-minutes: 50
|
2021-01-29 16:01:03 +00:00
|
|
|
|
|
|
|
build-nvidia:
|
|
|
|
runs-on: ubuntu-20.04
|
2021-05-04 19:22:02 +00:00
|
|
|
# todo: temporarily skip as the base container does not fit to agent
|
|
|
|
if: false
|
2021-01-29 16:01:03 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
2021-03-19 21:25:46 +00:00
|
|
|
|
|
|
|
- name: Build NVIDIA Docker
|
2021-01-29 16:01:03 +00:00
|
|
|
uses: docker/build-push-action@v2
|
|
|
|
with:
|
|
|
|
file: dockers/nvidia/Dockerfile
|
|
|
|
push: false
|
|
|
|
timeout-minutes: 50
|