Merge pull request #819 from DFE-Digital/CPDNPQ-1188-background-job-t… #774
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: Deploy to Dev | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
jobs: | |
deploy: | |
name: Deploy to Dev | |
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-dev | |
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: dev | |
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/"${{ env.ENV_STUB }}"-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 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_DEV }}" \ | |
--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 |