Skip to content

Release Candidate Container Build and Deployment Preparation #43

Release Candidate Container Build and Deployment Preparation

Release Candidate Container Build and Deployment Preparation #43

name: Release Candidate Container Build and Deployment Preparation
on:
workflow_dispatch:
inputs:
environment:
description: 'The environment to tag the resulting images to. The resulting container would be tagged as <application-name>:<application-version>-<environment>.<githubsha>'
type: choice
required: true
default: 'TEST'
options:
- TEST
values:
description: 'The name of the Helm chart values file to update with the resulting tag name.'
type: choice
required: true
default: 'test2'
options:
- test2
build-elasticsearch:
description: 'Release a new ElasticSearch Container?'
required: true
type: boolean
default: false
build-nifi:
description: 'Release a new NiFi Container?'
required: true
type: boolean
default: false
jobs:
build-nbs-gateway-release-candidate:
name: Build NBS Gateway Release Candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Release-gradle-microservice-container.yaml@main
with:
microservice_name: nbs-gateway
build-new-container: true
dockerfile_relative_path: -f ./apps/nbs-gateway/Dockerfile .
environment_classifier: ${{inputs.environment}}
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
prepare-nbs-gateway-release-candidate:
name: Prepare NBS Gateway Release Candidate Deployment
needs: build-nbs-gateway-release-candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Update-helm-charts.yaml@main
with:
microservice_name: nbs-gateway
values_file_with_path: charts/nbs-gateway/values-${{inputs.values}}.yaml
new_image_tag: ${{ needs.build-nbs-gateway-release-candidate.outputs.output_image_tag }}
secrets:
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
build-modernization-api-release-candidate:
name: Build Modernization API Release Candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Release-gradle-microservice-container.yaml@main
with:
microservice_name: modernization-api
build-new-container: true
dockerfile_relative_path: -f ./apps/modernization-api/Dockerfile .
environment_classifier: ${{inputs.environment}}
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
prepare-modernization-api-release-candidate:
name: Prepare Modernization API Candidate Deployment
needs: build-modernization-api-release-candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Update-helm-charts.yaml@main
with:
microservice_name: modernization-api
values_file_with_path: charts/modernization-api/values-${{inputs.values}}.yaml
new_image_tag: ${{ needs.build-modernization-api-release-candidate.outputs.output_image_tag }}
secrets:
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
build-page-builder-api-release-candidate:
name: Build Page Builder API Release Candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Release-gradle-microservice-container.yaml@main
with:
microservice_name: page-builder-api
build-new-container: true
dockerfile_relative_path: -f ./apps/question-bank/Dockerfile .
environment_classifier: ${{inputs.environment}}
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
prepare-page-builder-api-release-candidate:
name: Prepare Page Builder API Candidate Deployment
needs: build-page-builder-api-release-candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Update-helm-charts.yaml@main
with:
microservice_name: page-builder-api
values_file_with_path: charts/page-builder-api/values-${{inputs.values}}.yaml
new_image_tag: ${{ needs.build-page-builder-api-release-candidate.outputs.output_image_tag }}
secrets:
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
build-elasticsearch-release-candidate:
if: ${{ inputs.build-elasticsearch == 'true' }}
name: Build Elasticsearch Release Candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Release-gradle-microservice-container.yaml@main
with:
microservice_name: elasticsearch
build-new-container: true
dockerfile_relative_path: -f ./cdc-sandbox/elasticsearch/Dockerfile .
environment_classifier: ${{inputs.environment}}
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
prepare-elasticsearch-release-candidate:
name: Prepare Elasticsearch Release Candidate Deployment
needs: build-elasticsearch-release-candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Update-helm-charts.yaml@main
with:
microservice_name: elasticsearch
values_file_with_path: charts/elasticsearch-efs/values-${{inputs.values}}.yaml
new_image_tag: ${{ needs.build-elasticsearch-release-candidate.outputs.output_image_tag }}
secrets:
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
build-nifi-release-candidate:
if: ${{ inputs.build-nifi == 'true' }}
name: Build NiFi Release Candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Release-gradle-microservice-container.yaml@main
with:
microservice_name: nifi
build-new-container: true
dockerfile_relative_path: -f ./cdc-sandbox/nifi/Dockerfile .
environment_classifier: ${{inputs.environment}}
secrets:
CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID: ${{secrets.CDC_NBS_SANDBOX_SHARED_SERVICES_ACCOUNTID}}
ECR_REPO_BASE_NAME: ${{secrets.ECR_REPO_BASE_NAME}}
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}
prepare-nifi-release-candidate:
name: Prepare NiFi Release Candidate Deployment
needs: build-nifi-release-candidate
uses: CDCgov/NEDSS-Workflows/.github/workflows/Update-helm-charts.yaml@main
with:
microservice_name: nifi
values_file_with_path: charts/nifi-efs/values-${{inputs.values}}.yaml
new_image_tag: ${{ needs.build-nifi-release-candidate.outputs.output_image_tag }}
secrets:
GIT_USER_EMAIL: ${{secrets.GIT_USER_EMAIL}}
GIT_USER_NAME: ${{secrets.GIT_USER_NAME}}
HELM_TOKEN: ${{secrets.HELM_TOKEN}}