64 lines
2.5 KiB
YAML
64 lines
2.5 KiB
YAML
name: Docker
|
|
|
|
on:
|
|
push:
|
|
branches: [master, "release/*"]
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-20.04
|
|
# only on releases
|
|
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'release'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
# We only release one docker image per PyTorch version.
|
|
- {python_version: "3.9", pytorch_version: "1.9", cuda_version: "11.1.1"}
|
|
- {python_version: "3.9", pytorch_version: "1.10", cuda_version: "11.3.1"}
|
|
- {python_version: "3.9", pytorch_version: "1.11", cuda_version: "11.3.1"}
|
|
- {python_version: "3.9", pytorch_version: "1.12", cuda_version: "11.6.1"}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Get release version
|
|
id: get_version
|
|
run: echo "::set-output name=RELEASE_VERSION::$(echo ${GITHUB_REF##*/})"
|
|
|
|
- name: Publish Releases to Docker
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
repository: pytorchlightning/pytorch_lightning
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
dockerfile: dockers/release/Dockerfile
|
|
build_args: |
|
|
PYTHON_VERSION=${{ matrix.python_version }}
|
|
PYTORCH_VERSION=${{ matrix.pytorch_version }}
|
|
CUDA_VERSION=${{ matrix.cuda_version }}
|
|
LIGHTNING_VERSION=${{ steps.get_version.outputs.RELEASE_VERSION }}
|
|
tags: |
|
|
${{ steps.get_version.outputs.RELEASE_VERSION }}-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }}-cuda${{ matrix.cuda_version }}
|
|
latest-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }}-cuda${{ matrix.cuda_version }}
|
|
timeout-minutes: 55
|
|
|
|
- name: Publish Latest to Docker
|
|
uses: docker/build-push-action@v3
|
|
# Only latest Python and PyTorch
|
|
if: matrix.python_version == '3.9' && matrix.pytorch_version == '1.12'
|
|
with:
|
|
repository: pytorchlightning/pytorch_lightning
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
dockerfile: dockers/release/Dockerfile
|
|
build_args: |
|
|
PYTHON_VERSION=${{ matrix.python_version }}
|
|
PYTORCH_VERSION=${{ matrix.pytorch_version }}
|
|
CUDA_VERSION=${{ matrix.cuda_version }}
|
|
LIGHTNING_VERSION=${{ steps.get_version.outputs.RELEASE_VERSION }}
|
|
tags: "latest"
|
|
timeout-minutes: 55
|