Skip to content

Merge pull request #2934 from ASFHyP3/dependabot/pip/pip-deps-539f69e95b #59

Merge pull request #2934 from ASFHyP3/dependabot/pip/pip-deps-539f69e95b

Merge pull request #2934 from ASFHyP3/dependabot/pip/pip-deps-539f69e95b #59

name: Deploy custom test stacks to AWS
on:
push:
branches:
- develop
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- environment: hyp3-a19-jpl-test
domain: hyp3-a19-jpl-test.asf.alaska.edu
template_bucket: cf-templates-v4pvone059de-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: JPL-public
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id
- environment: hyp3-tibet-jpl-test
domain: hyp3-tibet-jpl-test.asf.alaska.edu
template_bucket: cf-templates-1or0efwqffkgd-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/ARIA_AUTORIFT.yml
job_spec/ARIA_RAIDER.yml
job_spec/ARIA_S1_COSEIS.yml
job_spec/INSAR_ISCE.yml
job_spec/OPERA_DIST_S1.yml
instance_types: m6id.xlarge,m6id.2xlarge,m6id.4xlarge,m6id.8xlarge,m6idn.xlarge,m6idn.2xlarge,m6idn.4xlarge,m6idn.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: JPL-public
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id
- environment: hyp3-its-live-test
domain: hyp3-its-live-test.asf.alaska.edu
template_bucket: cf-templates-3o5lnspmwmzg-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/ITS_LIVE_AUTORIFT.yml
job_spec/ITS_LIVE_META.yml
instance_types: r7gd.2xlarge,r7gd.4xlarge,r7gd.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: JPL-public
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended/image_id
- environment: hyp3-ak-fire-safe-test
domain: hyp3-ak-fire-safe-test.asf.alaska.edu
template_bucket: cf-templates-kc34l8cyitfn-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/AK_FIRE_SAFE.yml
job_spec/INSAR_ISCE_BURST.yml
instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: ASF
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id
- environment: hyp3-pism-cloud-test
domain: pism-cloud-test.asf.alaska.edu
template_bucket: cf-templates-1qca1gr649g17-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/INSAR_ISCE_BURST.yml
instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: ASF
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id
- environment: hyp3-volcsarvatory-test
domain: hyp3-volcsarvatory-test.asf.alaska.edu
template_bucket: cf-templates-1uzy61g1h6omf-us-west-2
image_tag: test
product_lifetime_in_days: 14
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
job_files: >-
job_spec/INSAR_GAMMA.yml
job_spec/INSAR_ISCE_BURST.yml
instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge
default_max_vcpus: 640
expanded_max_vcpus: 640
required_surplus: 0
security_environment: ASF
ami_id: /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id
environment:
name: ${{ matrix.environment }}
url: https://${{ matrix.domain }}
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
- uses: aws-actions/configure-aws-credentials@v5
with:
aws-access-key-id: ${{ secrets.V2_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.V2_AWS_SECRET_ACCESS_KEY }}
aws-session-token: ${{ secrets.V2_AWS_SESSION_TOKEN }}
aws-region: ${{ secrets.AWS_REGION }}
- uses: actions/setup-python@v6
with:
python-version: 3.13
- run: |
jq -n '{"Parameters": $ARGS.named}' \
--arg VpcId '${{ secrets.VPC_ID }}' \
--arg SubnetIds '${{ secrets.SUBNET_IDS }}' \
--arg SecretArn '${{ secrets.SECRET_ARN }}' \
--arg ImageTag '${{ matrix.IMAGE_TAG }}' \
--arg ProductLifetimeInDays '${{ matrix.product_lifetime_in_days }} ' \
--arg AuthPublicKey '${{ secrets.AUTH_PUBLIC_KEY }}' \
--arg DefaultCreditsPerUser '${{ matrix.default_credits_per_user }}' \
--arg DefaultApplicationStatus '${{ matrix.default_application_status }}' \
--arg AmiId '${{ matrix.ami_id }}' \
--arg DefaultMaxvCpus '${{ matrix.default_max_vcpus }}' \
--arg ExpandedMaxvCpus '${{ matrix.expanded_max_vcpus }}' \
--arg MonthlyBudget '${{ secrets.MONTHLY_BUDGET }}' \
--arg RequiredSurplus '${{ matrix.required_surplus }}' \
--arg InstanceTypes '${{ matrix.instance_types }}' \
--arg DomainName '${{ matrix.domain }}' \
--arg CertificateArn '${{ secrets.CERTIFICATE_ARN }}' \
> parameters.json
- uses: ./.github/actions/deploy-hyp3
with:
TEMPLATE_BUCKET: ${{ matrix.template_bucket }}
STACK_NAME: ${{ matrix.environment }}
API_NAME: ${{ matrix.environment }}
CLOUDFORMATION_ROLE_ARN: ${{ secrets.CLOUDFORMATION_ROLE_ARN }}
COST_PROFILE: ${{ matrix.cost_profile }}
JOB_FILES: ${{ matrix.job_files }}
SECURITY_ENVIRONMENT: ${{ matrix.security_environment }}
PARAMETER_FILE: parameters.json