forked from ASFHyP3/hyp3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yml
54 lines (51 loc) · 1.91 KB
/
action.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
name: Deploy HyP3
description: Deploy a HyP3 stack
inputs:
TEMPLATE_BUCKET:
description: "S3 Bucket for CloudFormation deployment artifacts"
required: true
STACK_NAME:
description: "Name of the deployed stack"
required: true
API_NAME:
description: "HyP3 API name"
required: true
CLOUDFORMATION_ROLE_ARN:
description: "The CloudFormation role to use for this deployment"
required: true
COST_PROFILE:
description: "Job spec cost profile"
required: true
JOB_FILES:
description: "Space separated list of job spec YAMLs to include"
required: true
SECURITY_ENVIRONMENT:
description: "Modify resources/configurations for ASF (default), EDC, or JPL security environments"
required: true
PARAMETER_FILE:
description: "JSON file containing parameter overrides for cloudformation stack"
required: true
runs:
using: "composite"
steps:
- name: install dependencies and render templates
shell: bash
run: |
pip install --upgrade pip
make install
make files='${{ inputs.JOB_FILES }}' security_environment='${{ inputs.SECURITY_ENVIRONMENT }}' api_name='${{ inputs.API_NAME }}' cost_profile='${{ inputs.COST_PROFILE }}' build
- name: Package and deploy
shell: bash
run: |
[ -z ${{ inputs.CLOUDFORMATION_ROLE_ARN }} ] && export ROLE_STATEMENT="" \
|| export ROLE_STATEMENT="--role-arn ${{ inputs.CLOUDFORMATION_ROLE_ARN }}"
aws cloudformation package \
--template-file apps/main-cf.yml \
--s3-bucket ${{ inputs.TEMPLATE_BUCKET }} \
--output-template-file packaged.yml
aws cloudformation deploy \
--stack-name ${{ inputs.STACK_NAME }} \
--template-file packaged.yml \
$ROLE_STATEMENT \
--capabilities CAPABILITY_IAM \
--parameter-overrides file://${{ inputs.PARAMETER_FILE }}