mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-05 17:28:31 +02:00
77 lines
2.2 KiB
YAML
77 lines
2.2 KiB
YAML
# Manually deploy a branch of choice to an environment of choice.
|
|
|
|
name: Manual Build and Deploy
|
|
run-name: Manually build and deploy branch to sandbox of choice
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
environment:
|
|
description: 'Environment to deploy'
|
|
required: true
|
|
default: 'backup'
|
|
type: 'choice'
|
|
options:
|
|
- ab
|
|
- backup
|
|
- cb
|
|
- dk
|
|
- es
|
|
- gd
|
|
- ko
|
|
- ky
|
|
- nl
|
|
- rb
|
|
- rh
|
|
- rjm
|
|
- meoward
|
|
- bob
|
|
- hotgov
|
|
- litterbox
|
|
- ms
|
|
- ad
|
|
# GitHub Actions has no "good" way yet to dynamically input branches
|
|
branch:
|
|
description: 'Branch to deploy'
|
|
required: true
|
|
default: 'main'
|
|
type: string
|
|
|
|
|
|
jobs:
|
|
variables:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Setting global variables
|
|
uses: actions/github-script@v6
|
|
id: var
|
|
with:
|
|
script: |
|
|
core.setOutput('environment', '${{ github.head_ref }}'.split("/")[0]);
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Compile USWDS assets
|
|
working-directory: ./src
|
|
run: |
|
|
docker compose run node npm install npm@latest &&
|
|
docker compose run node npm install &&
|
|
docker compose run node npx gulp copyAssets &&
|
|
docker compose run node npx gulp compile
|
|
- name: Collect static assets
|
|
working-directory: ./src
|
|
run: docker compose run app python manage.py collectstatic --no-input
|
|
- name: Deploy to cloud.gov sandbox
|
|
uses: cloud-gov/cg-cli-tools@main
|
|
env:
|
|
ENVIRONMENT: ${{ github.event.inputs.environment }}
|
|
CF_USERNAME: CF_${{ github.event.inputs.environment }}_USERNAME
|
|
CF_PASSWORD: CF_${{ github.event.inputs.environment }}_PASSWORD
|
|
with:
|
|
cf_username: ${{ secrets[env.CF_USERNAME] }}
|
|
cf_password: ${{ secrets[env.CF_PASSWORD] }}
|
|
cf_org: cisa-dotgov
|
|
cf_space: ${{ env.ENVIRONMENT }}
|
|
cf_manifest: ops/manifests/manifest-${{ env.ENVIRONMENT }}.yaml
|
|
|