Skip to content

Merge pull request #819 from DFE-Digital/CPDNPQ-1188-background-job-t… #774

Merge pull request #819 from DFE-Digital/CPDNPQ-1188-background-job-t…

Merge pull request #819 from DFE-Digital/CPDNPQ-1188-background-job-t… #774

Workflow file for this run

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