68 lines
1.6 KiB
YAML
68 lines
1.6 KiB
YAML
|
name: Reusable Server Application Workflow
|
||
|
|
||
|
on:
|
||
|
workflow_call:
|
||
|
inputs:
|
||
|
service_name:
|
||
|
required: true
|
||
|
type: string
|
||
|
workspace_name:
|
||
|
required: true
|
||
|
type: string
|
||
|
deploy_web:
|
||
|
required: false
|
||
|
default: true
|
||
|
type: boolean
|
||
|
deploy_worker:
|
||
|
required: false
|
||
|
default: true
|
||
|
type: boolean
|
||
|
package_path:
|
||
|
required: true
|
||
|
type: string
|
||
|
secrets:
|
||
|
DOCKER_USERNAME:
|
||
|
required: true
|
||
|
DOCKER_PASSWORD:
|
||
|
required: true
|
||
|
CI_PAT_TOKEN:
|
||
|
required: true
|
||
|
AWS_ACCESS_KEY_ID:
|
||
|
required: true
|
||
|
AWS_SECRET_ACCESS_KEY:
|
||
|
required: true
|
||
|
|
||
|
jobs:
|
||
|
publish:
|
||
|
name: Publish Docker Image
|
||
|
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
|
||
|
with:
|
||
|
service_name: ${{ inputs.service_name }}
|
||
|
package_path: ${{ inputs.package_path }}
|
||
|
workspace_name: ${{ inputs.workspace_name }}
|
||
|
secrets: inherit
|
||
|
|
||
|
deploy-web:
|
||
|
if: ${{ inputs.deploy_web }}
|
||
|
|
||
|
needs: publish
|
||
|
|
||
|
name: Deploy Web
|
||
|
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
|
||
|
with:
|
||
|
service_name: ${{ inputs.service_name }}
|
||
|
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
|
||
|
secrets: inherit
|
||
|
|
||
|
deploy-worker:
|
||
|
if: ${{ inputs.deploy_worker }}
|
||
|
|
||
|
needs: publish
|
||
|
|
||
|
name: Deploy Worker
|
||
|
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
|
||
|
with:
|
||
|
service_name: ${{ inputs.service_name }}-worker
|
||
|
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
|
||
|
secrets: inherit
|