Skip to content

Publish Docker image #17

Publish Docker image

Publish Docker image #17

name: Publish Docker image
on:
release:
types: [published]
workflow_dispatch:
env:
BUILD_TYPE: Release
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Run Build Script
working-directory: ${{github.workspace}}
run: |
bash ci-utils/build_conda.sh ${{github.workspace}}
- name: Copy 3rd-party libraries to staging directory
working-directory: ${{github.workspace}}
run: |
bash ci-utils/docker_copy_3rd_party_libs.sh ${{github.workspace}}/miniconda-for-nyxus/envs/nyxus-3.8
- name: Create Version File
run: python setup.py --version| grep -v init > VERSION
- name: Set variable
run: |
VER=$(cat VERSION)
echo "VERSION=$VER" >> $GITHUB_ENV
- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: polusai/nyxus
- name: Build and push Docker image
env:
DOCKER_REPO: nyxus
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: polusai/${{ env.DOCKER_REPO }}:${{ env.VERSION }}, polusai/${{ env.DOCKER_REPO }}:latest
labels: ${{ steps.meta.outputs.labels }}