diff --git a/.github/workflows/deploy-development.yaml b/.github/workflows/deploy-development.yaml new file mode 100644 index 000000000..13aeb3993 --- /dev/null +++ b/.github/workflows/deploy-development.yaml @@ -0,0 +1,41 @@ +# This workflow runs on pushes to main +# any merge/push to main will result in development being deployed + +name: Build and deploy development for release + +on: + push: + paths-ignore: + - 'docs/**' + - '**.md' + - '.gitignore' + + branches: + - main + +jobs: + deploy-development: + if: ${{ github.ref_type == 'tag' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Compile USWDS assets + working-directory: ./src + run: | + 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: 18f/cg-deploy-action@main + env: + DEPLOY_NOW: thanks + with: + cf_username: ${{ secrets.CF_DEVELOPMENT_USERNAME }} + cf_password: ${{ secrets.CF_DEVELOPMENT_PASSWORD }} + cf_org: cisa-dotgov + cf_space: development + push_arguments: "-f ops/manifests/manifest-development.yaml" diff --git a/.github/workflows/migrate.yaml b/.github/workflows/migrate.yaml index 2423c95ad..b1880c830 100644 --- a/.github/workflows/migrate.yaml +++ b/.github/workflows/migrate.yaml @@ -15,6 +15,7 @@ on: options: - stable - staging + - development - ky - es - nl diff --git a/.github/workflows/reset-db.yaml b/.github/workflows/reset-db.yaml index ffc416604..a28270a22 100644 --- a/.github/workflows/reset-db.yaml +++ b/.github/workflows/reset-db.yaml @@ -14,8 +14,8 @@ on: type: choice description: Which environment should we flush and re-load data for? options: - - stable - staging + - development - ky - es - nl diff --git a/ops/manifests/manifest-development.yaml b/ops/manifests/manifest-development.yaml new file mode 100644 index 000000000..0a1f30ffa --- /dev/null +++ b/ops/manifests/manifest-development.yaml @@ -0,0 +1,32 @@ +--- +applications: +- name: getgov-development + buildpacks: + - python_buildpack + path: ../../src + instances: 1 + memory: 512M + stack: cflinuxfs4 + timeout: 180 + command: ./run.sh + health-check-type: http + health-check-http-endpoint: /health + health-check-invocation-timeout: 40 + env: + # Send stdout and stderr straight to the terminal without buffering + PYTHONUNBUFFERED: yup + # Tell Django where to find its configuration + DJANGO_SETTINGS_MODULE: registrar.config.settings + # Tell Django where it is being hosted + DJANGO_BASE_URL: https://getgov-development.app.cloud.gov + # Tell Django how much stuff to log + DJANGO_LOG_LEVEL: INFO + # default public site location + GETGOV_PUBLIC_SITE_URL: https://beta.get.gov + # Flag to disable/enable features in prod environments + IS_PRODUCTION: False + routes: + - route: getgov-development.app.cloud.gov + services: + - getgov-credentials + - getgov-development-database diff --git a/ops/scripts/create_dev_sandbox.sh b/ops/scripts/create_dev_sandbox.sh index 5eeed9c10..c9c55ae29 100755 --- a/ops/scripts/create_dev_sandbox.sh +++ b/ops/scripts/create_dev_sandbox.sh @@ -43,7 +43,7 @@ cp ops/scripts/manifest-sandbox-template.yaml ops/manifests/manifest-$1.yaml sed -i '' "s/ENVIRONMENT/$1/" "ops/manifests/manifest-$1.yaml" echo "Adding new environment to settings.py..." -sed -i '' '/getgov-staging.app.cloud.gov/ {a\ +sed -i '' '/getgov-development.app.cloud.gov/ {a\ '\"getgov-$1.app.cloud.gov\"', }' src/registrar/config/settings.py @@ -105,11 +105,11 @@ echo echo "Moving on to setup Github automation..." echo "Adding new environment to Github Actions..." -sed -i '' '/ - staging/ {a\ +sed -i '' '/ - development/ {a\ - '"$1"' }' .github/workflows/reset-db.yaml -sed -i '' '/ - staging/ {a\ +sed -i '' '/ - development/ {a\ - '"$1"' }' .github/workflows/migrate.yaml diff --git a/src/registrar/config/settings.py b/src/registrar/config/settings.py index 5f16f7e3b..584efd459 100644 --- a/src/registrar/config/settings.py +++ b/src/registrar/config/settings.py @@ -619,6 +619,7 @@ SECURE_SSL_REDIRECT = True ALLOWED_HOSTS = [ "getgov-stable.app.cloud.gov", "getgov-staging.app.cloud.gov", + "getgov-development.app.cloud.gov", "getgov-ky.app.cloud.gov", "getgov-es.app.cloud.gov", "getgov-nl.app.cloud.gov",