Skip to content
This repository has been archived by the owner on May 8, 2024. It is now read-only.

Build Docker Images #192

Build Docker Images

Build Docker Images #192

name: Build Docker Images
on:
workflow_dispatch:
inputs:
tag:
description: "Docker Image Tag"
required: false
default: "development-tag"
env:
REGISTRY: ghcr.io
TAG: ${{ github.event.inputs.tag }}
HYSDS_CORE_IMAGE_NAME: ${{ github.repository }}/hysds-core
MOZART_IMAGE_NAME: ${{ github.repository }}/hysds-mozart
GRQ_IMAGE_NAME: ${{ github.repository }}/hysds-grq2
VERDI_IMAGE_NAME: ${{ github.repository }}/hysds-verdi
REMOTE_UI_IMAGE_NAME: ${{ github.repository }}/hysds-ui-remote
REMOTE_UI_AUTH_IMAGE_NAME: ${{ github.repository }}/hysds-ui-remote-auth
ADES_WPST_API_IMAGE_NAME: ${{ github.repository }}/ades-wpst-api
ADES_WPST_API_DEVELOP_IMAGE_NAME: ${{ github.repository }}/ades-wpst-api-develop
SPS_API_IMAGE_NAME: ${{ github.repository }}/sps-api
SPS_HYSDS_PGE_BASE_IMAGE_NAME: ${{ github.repository }}/sps-hysds-pge-base
SPS_JOB_PUBLISHER_IMAGE_NAME: ${{ github.repository }}/sps-job-publisher
SPS_AIRFLOW: ${{ github.repository }}/sps-airflow
jobs:
build-hysds-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HySDS Core Docker image
id: metacore
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.HYSDS_CORE_IMAGE_NAME }}
- name: Build and push HySDS Core Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds
push: true
tags: ${{ env.REGISTRY }}/${{ env.HYSDS_CORE_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metacore.outputs.labels }}
build-hysds-mozart:
runs-on: ubuntu-latest
needs: build-hysds-core
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HyDSDS Mozart Docker image
id: metamozart
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.MOZART_IMAGE_NAME }}
- name: Build and push HySDS Mozart Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds/mozart/rest_api/
push: true
tags: ${{ env.REGISTRY }}/${{ env.MOZART_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metamozart.outputs.labels }}
build-args: |
PARENT_DOCKER_IMAGE=${{ env.REGISTRY }}/${{ env.HYSDS_CORE_IMAGE_NAME }}:${{ env.TAG }}
build-hysds-grq:
runs-on: ubuntu-latest
needs: build-hysds-core
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HyDSDS GRQ Docker image
id: metagrq
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.GRQ_IMAGE_NAME }}
- name: Build and push HySDS GRQ Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds/grq/rest_api/
push: true
tags: ${{ env.REGISTRY }}/${{ env.GRQ_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metagrq.outputs.labels }}
build-args: |
PARENT_DOCKER_IMAGE=${{ env.REGISTRY }}/${{ env.HYSDS_CORE_IMAGE_NAME }}:${{ env.TAG }}
build-hysds-verdi:
runs-on: ubuntu-latest
needs: build-hysds-core
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HyDSDS Verdi Docker image
id: metaverdi
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.VERDI_IMAGE_NAME }}
- name: Build and push HySDS Verdi Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds/verdi/
push: true
tags: ${{ env.REGISTRY }}/${{ env.VERDI_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metaverdi.outputs.labels }}
build-args: |
PARENT_DOCKER_IMAGE=${{ env.REGISTRY }}/${{ env.HYSDS_CORE_IMAGE_NAME }}:${{ env.TAG }}
build-hysds-ui-remote:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HyDSDS Remote UI Docker image
id: metauiremote
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.REMOTE_UI_IMAGE_NAME }}
- name: Build and push HySDS Remote UI Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds/ui/
file: hysds/ui/remote.Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.REMOTE_UI_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metauiremote.outputs.labels }}
build-hysds-ui-remote-auth:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for HyDSDS Remote UI Docker image
id: metauiremote
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.REMOTE_UI_AUTH_IMAGE_NAME }}
- name: Build and push HySDS Remote UI with Auth Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: hysds/ui/
file: hysds/ui/remote_auth.Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.REMOTE_UI_AUTH_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metauiremote.outputs.labels }}
build-ades-wpst-api:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: unity-sds/ades_wpst
- name: Log in to the container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for ADES WPST API Docker image
id: metaades
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.ADES_WPST_API_IMAGE_NAME }}
- name: Build and push ADES WPST API Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: docker/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.ADES_WPST_API_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metaades.outputs.labels }}
build-sps-api:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: unity-sds/unity-sps-api
- name: Log in to the container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for SPS API Docker image
id: metasps
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.SPS_API_IMAGE_NAME }}
- name: Build and push SPS API Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: docker/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.SPS_API_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metasps.outputs.labels }}
build-ades-wpst-api-develop:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: unity-sds/ades_wpst
ref: docker-build-args
- name: Log in to the container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for ADES WPST API Develop Docker image
id: metaades
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.ADES_WPST_API_DEVELOP_IMAGE_NAME }}
- name: Build and push ADES WPST API Develop Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: docker/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.ADES_WPST_API_DEVELOP_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metaades.outputs.labels }}
build-sps-hysds-pge-base:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: unity-sds/unity-sps-register_job
- name: Log in to the container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for SPS HySDS base PGE Docker image
id: metasps
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.SPS_HYSDS_PGE_BASE_IMAGE_NAME }}
- name: Build and push SPS HySDS base PGE Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: docker/Dockerfile_sps-hysds-pge-base
push: true
tags: ${{ env.REGISTRY }}/${{ env.SPS_HYSDS_PGE_BASE_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metasps.outputs.labels }}
build-sps-job-publisher:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: unity-sds/unity-sps-register_job
- name: Log in to the container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for SPS Job Publisher Docker image
id: metasps
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.SPS_JOB_PUBLISHER_IMAGE_NAME }}
- name: Build and push SPS Job Publisher Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: docker/Dockerfile_publish_job
push: true
tags: ${{ env.REGISTRY }}/${{ env.SPS_JOB_PUBLISHER_IMAGE_NAME }}:${{ env.TAG }}
labels: ${{ steps.metasps.outputs.labels }}
build-sps-airflow:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for SPS Airflow Docker image
id: metascheduler
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.SPS_AIRFLOW }}
- name: Build and push SPS Airflow Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: airflow/docker/custom_airflow/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.SPS_AIRFLOW }}:${{ env.TAG }}
labels: ${{ steps.metascheduler.outputs.labels }}