Skip to content

.github/workflows/lf-production-deploy-new.yaml #18

.github/workflows/lf-production-deploy-new.yaml

.github/workflows/lf-production-deploy-new.yaml #18

name: LF Production Deploy New
on:
workflow_dispatch:
inputs:
deploy_search_sync_worker:
description: Deploy search-sync-worker service?
required: true
type: boolean
deploy_integration_sync_worker:
description: Deploy integration-sync-worker service?
required: true
type: boolean
deploy_webhook_api:
description: Deploy webhook-api service?
required: true
type: boolean
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
CROWD_CLUSTER: ${{ secrets.LF_PRODUCTION_CLUSTER_NAME }}
CROWD_ROLE_ARN: ${{ secrets.LF_PRODUCTION_CLUSTER_ROLE_ARN }}
AWS_ACCESS_KEY_ID: ${{ secrets.LF_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.LF_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.LF_AWS_REGION }}
SLACK_CHANNEL: deploys-lf
SLACK_WEBHOOK: ${{ secrets.LF_PRODUCTION_SLACK_CHANNEL_HOOK }}
jobs:
build-and-push-search-sync-worker:
runs-on: ubuntu-latest
if: ${{ inputs.deploy_search_sync_worker }}
outputs:
image: ${{ steps.image.outputs.IMAGE }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/build-docker-image
id: image-builder
with:
image: search-sync-worker
- name: Set docker image output
id: image
run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT
build-and-push-integration-sync-worker:
runs-on: ubuntu-latest
if: ${{ inputs.deploy_integration_sync_worker }}
outputs:
image: ${{ steps.image.outputs.IMAGE }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/build-docker-image
id: image-builder
with:
image: integration-sync-worker
- name: Set docker image output
id: image
run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT
build-and-push-webhook-api:
runs-on: ubuntu-latest
if: ${{ inputs.deploy_webhook_api }}
outputs:
image: ${{ steps.image.outputs.IMAGE }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/build-docker-image
id: image-builder
with:
image: webhook-api
- name: Set docker image output
id: image
run: echo "IMAGE=${{ steps.image-builder.outputs.image }}" >> $GITHUB_OUTPUT
deploy-search-sync-worker:
needs: build-and-push-search-sync-worker
runs-on: ubuntu-latest
if: ${{ inputs.deploy_search_sync_worker }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/deploy-service
with:
service: search-sync-worker
image: ${{ needs.build-and-push-search-sync-worker.outputs.image }}
cluster: ${{ env.CROWD_CLUSTER }}
deploy-integration-sync-worker:
needs: build-and-push-integration-sync-worker
runs-on: ubuntu-latest
if: ${{ inputs.deploy_integration_sync_worker }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/deploy-service
with:
service: integration-sync-worker
image: ${{ needs.build-and-push-integration-sync-worker.outputs.image }}
cluster: ${{ env.CROWD_CLUSTER }}
deploy-webhook-api:
needs: build-and-push-webhook-api
runs-on: ubuntu-latest
if: ${{ inputs.deploy_webhook_api }}
defaults:
run:
shell: bash
steps:
- name: Check out repository code
uses: actions/checkout@v2
- uses: ./.github/actions/deploy-service
with:
service: webhook-api
image: ${{ needs.build-and-push-webhook-api.outputs.image }}
cluster: ${{ env.CROWD_CLUSTER }}