-
Notifications
You must be signed in to change notification settings - Fork 0
77 lines (75 loc) · 2.94 KB
/
deploy-prod.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
on:
workflow_dispatch:
inputs:
release_tag:
description: 'Release tag version to deploy to production (defaults to latest)'
required: false
type: string
name: Deploy release to prod
jobs:
get-release-tag:
runs-on: [ARM64, self-hosted, Linux]
environment: production
outputs:
release_tag: ${{ steps.get-release.outputs.release_tag}}
steps:
- name: Get latest or specified release
uses: chanzuckerberg/czid-graphql-federation-server/.github/actions/get-release-tag@main
id: get-release
with:
requested_release_tag: ${{ github.event.inputs.release_tag || '' }}
deploy-to-prod-env:
needs: get-release-tag
if: needs.get-release-tag.outputs.release_tag != ''
runs-on: [ARM64, self-hosted, Linux]
environment: production
permissions:
id-token: write
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: '${{ needs.get-release-tag.outputs.release_tag }}'
- name: Assume happy-api deployment role
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-west-2
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-duration-seconds: 1200
role-session-name: CzidGraphQLFederationUpdateProd
- name: Install happy
uses: chanzuckerberg/github-actions/.github/actions/install-happy@main
- name: Set git SHA
uses: chanzuckerberg/czid-graphql-federation-server/.github/actions/happy-config-set@main
with:
app_config_name: CZID_GQL_FED_GIT_SHA
app_config_value: ${{ github.sha }}
happy_env: prod
- name: Set release version
uses: chanzuckerberg/czid-graphql-federation-server/.github/actions/happy-config-set@main
with:
app_config_name: CZID_GQL_FED_GIT_VERSION
app_config_value: ${{ needs.get-release-tag.outputs.release_tag || ''}}
happy_env: prod
- name: Set CZ ID Rails API URL
uses: chanzuckerberg/czid-graphql-federation-server/.github/actions/happy-config-set@main
with:
app_config_name: API_URL
app_config_value: ${{ vars.API_URL}}
happy_env: prod
- name: Set allowed CORS origins
uses: chanzuckerberg/czid-graphql-federation-server/.github/actions/happy-config-set@main
with:
app_config_name: ALLOWED_CORS_ORIGINS
app_config_value: ${{ vars.ALLOWED_CORS_ORIGINS}}
happy_env: prod
- name: Deploy to production env
uses: chanzuckerberg/github-actions/.github/actions/[email protected]
with:
tfe-token: ${{ secrets.TFE_TOKEN }}
env: ${{ vars.HAPPY_ENV }}
github-repo-branch: ${{ needs.get-release-tag.outputs.release_tag }}
create-tag: true
stack-name: ${{ secrets.HAPPY_STACK_NAME }}
version-lock-file: .happy/version.lock