name: Publish Docker Releases # https://www.docker.com/blog/first-docker-github-action-is-here # https://github.com/docker/build-push-action on: push: branches: - master release: types: - created jobs: build: runs-on: ubuntu-latest strategy: matrix: python_version: [3.6, 3.7, 3.8] pytorch_version: [1.3, 1.4, 1.5] exclude: # excludes PT 1.3 as it is missing on pypi - python-version: 3.8 pytorch_version: 1.3 steps: - name: Checkout uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: 3.7 - name: Publish Master to Docker # publish master uses: docker/build-push-action@v1.1.0 if: github.event_name == 'push' with: repository: pytorchlightning/pytorch_lightning username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: docker/Dockerfile build_args: PYTHON_VERSION=${{ matrix.python_version }},PYTORCH_VERSION=${{ matrix.pytorch_version }} tags: "nightly-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }}" timeout-minutes: 40 - name: Get release version if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'release' id: get_version run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_REF##*/}) - name: Publish Releases to Docker # only on releases uses: docker/build-push-action@v1.1.0 if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'release' with: repository: pytorchlightning/pytorch_lightning username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: docker/Dockerfile build_args: PYTHON_VERSION=${{ matrix.python_version }},PYTORCH_VERSION=${{ matrix.pytorch_version }},LIGHTNING_VERSION=${{ env.RELEASE_VERSION }} tags: "${{ env.RELEASE_VERSION }}-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }},latest-py${{ matrix.python_version }}-torch${{ matrix.pytorch_version }}" timeout-minutes: 40