CPDNPQ-1216 Update list of independent schools offering govt.-funded EY provision #1222
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Review App | |
on: | |
pull_request: | |
branches: [ main ] | |
types: [ opened, synchronize, reopened ] | |
paths-ignore: | |
- 'documentation/**' | |
jobs: | |
deploy: | |
name: Deploy to Review App | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Install CloudFoundry CLI | |
shell: bash | |
run: | | |
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add - | |
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list | |
sudo apt-get update | |
sudo apt-get install cf7-cli | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_DEV_PASSWORD }} | |
- name: Build and push docker image | |
uses: docker/build-push-action@v3 | |
id: docker_build_push | |
with: | |
context: . | |
build-args: | | |
BUILDKIT_INLINE_CACHE=1 | |
GIT_COMMIT_SHA=${{ github.sha }} | |
push: true | |
tags: dfedigital/early-careers-framework-dev:npq-registration-review-app-${{ github.event.number }} | |
provenance: false | |
- name: Deploy to Gov.uk PaaS | |
id: deploy-to-paas | |
shell: bash | |
env: | |
CF_DOCKER_PASSWORD: ${{ secrets.DOCKER_DEV_PASSWORD }} | |
PAAS_ORGANISATION: dfe | |
# This is a shared PAAS space | |
PAAS_SPACE: earlycareers-framework-dev | |
ENV_STUB: review-app-${{ github.event.number }} | |
ENV_STUB_DB: review-app-db | |
APP_NAME: npq-registration | |
REMOTE_DOCKER_IMAGE_NAME: dfedigital/early-careers-framework-dev | |
CF_USERNAME: ${{ secrets.GOVPAAS_DEV_USERNAME }} | |
CF_PASSWORD: ${{ secrets.GOVPAAS_DEV_PASSWORD }} | |
run: | | |
cf api https://api.london.cloud.service.gov.uk | |
cf auth | |
cf target -o "${{ env.PAAS_ORGANISATION }}" -s "${{ env.PAAS_SPACE }}" | |
cf push "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--manifest ./config/manifests/review-app-manifest.yml \ | |
--var DOCKER_IMAGE_ID="${{ steps.docker_build_push.outputs.digest }}" \ | |
--var SECRET_KEY_BASE="${{ secrets.RAILS_SECRET_KEY_BASE_DEV }}" \ | |
--var GOVUK_NOTIFY_API_KEY="${{ secrets.GOVUK_NOTIFY_API_KEY_DEV }}" \ | |
--var TRA_OIDC_DOMAIN="${{ secrets.TRA_OIDC_DOMAIN_DEV }}" \ | |
--var TRA_OIDC_CLIENT_ID="${{ secrets.TRA_OIDC_CLIENT_ID_DEV }}" \ | |
--var TRA_OIDC_CLIENT_SECRET="${{ secrets.TRA_OIDC_CLIENT_SECRET_DEV }}" \ | |
--var TRA_OIDC_REDIRECT_URI="${{ secrets.TRA_OIDC_REDIRECT_URI_DEV }}" \ | |
--var APP_NAME="${{ env.APP_NAME }}" \ | |
--var ENV_STUB="${{ env.ENV_STUB }}" \ | |
--var ENV_STUB_DB="${{ env.ENV_STUB_DB }}" \ | |
--var ECF_APP_BEARER_TOKEN="${{ secrets.ECF_APP_BEARER_TOKEN_DEV }}" \ | |
--var SENTRY_DSN="${{ secrets.SENTRY_DSN }}" \ | |
--var GET_AN_IDENTITY_WEBHOOK_SECRET="${{ secrets.GET_AN_IDENTITY_WEBHOOK_SECRET_REVIEW_APP }}" \ | |
--docker-image "${{ env.REMOTE_DOCKER_IMAGE_NAME }}":"${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--docker-username "${{ secrets.DOCKER_USERNAME }}" \ | |
--strategy rolling | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails feature_flags:initialize" \ | |
--process worker \ | |
--name initialize-feature-flags | |
- name: Ensure review app base data is in place | |
id: seed-db | |
shell: bash | |
env: | |
CF_DOCKER_PASSWORD: ${{ secrets.DOCKER_DEV_PASSWORD }} | |
PAAS_ORGANISATION: dfe | |
# This is a shared PAAS space | |
PAAS_SPACE: earlycareers-framework-dev | |
ENV_STUB: review-app-${{ github.event.number }} | |
APP_NAME: npq-registration | |
CF_USERNAME: ${{ secrets.GOVPAAS_DEV_USERNAME }} | |
CF_PASSWORD: ${{ secrets.GOVPAAS_DEV_PASSWORD }} | |
run: | | |
cf api https://api.london.cloud.service.gov.uk | |
cf auth | |
cf target -o "${{ env.PAAS_ORGANISATION }}" -s "${{ env.PAAS_SPACE }}" | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails db:seed" \ | |
--process worker \ | |
--name run-db-seed | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails runner 'ImportGiasSchoolsJob.perform_later'" \ | |
--process worker \ | |
--name schedule_school_import | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails runner 'ApplicationSynchronizationJob.perform_later'" \ | |
--process worker \ | |
--name application_synchronization_job | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails \"private_childcare_providers:import[lib/private_childcare_providers/2023-03-31/childcare_providers.csv, childcare_providers]\"" \ | |
--process worker \ | |
--name import_childcare_providers | |
cf run-task "${{ env.APP_NAME }}"-"${{ env.ENV_STUB }}" \ | |
--command "cd /app && /usr/local/bundle/bin/bundle exec rails \"private_childcare_providers:import[lib/private_childcare_providers/2023-03-31/childminder_agencies.csv, childminder_agencies]\"" \ | |
--process worker \ | |
--name import_childminder_agencies | |
- name: comment on PR | |
uses: unsplash/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
msg: "Created review app at https://npq-registration-review-app-${{ github.event.number }}.london.cloudapps.digital" | |
check_for_duplicate_msg: true | |
duplicate_msg_pattern: Created review app at* |