Skip to content

Devops

Devops #5

Workflow file for this run

name: "Deploy"
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
inputs:
environment:
description: "Deploy environment"
required: true
default: review_aks
type: environment
options:
- review_aks
push:
branches:
- main
pull_request:
branches:
- main
types:
- labeled
- synchronize
- reopened
- opened
jobs:
docker:
name: Build and push Docker image
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]'
outputs:
docker-image: ${{ steps.build-docker-image.outputs.image }}
steps:
- uses: actions/checkout@v3
- uses: DFE-Digital/github-actions/build-docker-image@master
id: build-docker-image
with:
docker-repository: ghcr.io/dfe-digital/teaching-school-hub-finder
github-token: ${{ secrets.GITHUB_TOKEN }}
# deploy_review:
# name: Deploy review
# concurrency: deploy_review_${{ github.event.pull_request.number }}
# if: github.actor != 'dependabot[bot]' && github.event_name == 'pull_request'
# needs: [docker, brakeman]
# runs-on: ubuntu-latest
# environment:
# name: review
# steps:
# - uses: actions/checkout@v3
#
# - uses: ./.github/actions/deploy-environment-to-aks
# id: deploy
# with:
# environment: review
# docker-image: ${{ needs.docker.outputs.docker-image }}
# azure-credentials: ${{ secrets.AZURE_CREDENTIALS }}
# pull-request-number: ${{ github.event.pull_request.number }}
# current-commit-sha: ${{ github.event.pull_request.head.sha }}
# statuscake-api-token: ${{ secrets.STATUSCAKE_API_TOKEN }}
#
# - name: Post sticky pull request comment
# if: github.event_name == 'pull_request'
# uses: marocchino/sticky-pull-request-comment@v2
# with:
# message: |
# Review app deployed to ${{ steps.deploy.outputs.url }}
#
# deploy_staging:
# name: Deploy staging
# needs: [docker, rspec, cypress, lint, brakeman]
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main'
# environment:
# name: staging
# outputs:
# docker-image: ${{ needs.docker.outputs.docker-image }}
# steps:
# - uses: actions/checkout@v3
#
# - uses: ./.github/actions/deploy-environment-to-aks
# id: deploy
# with:
# environment: staging
# docker-image: ${{ needs.docker.outputs.docker-image }}
# azure-credentials: ${{ secrets.AZURE_CREDENTIALS }}
# current-commit-sha: ${{ github.sha }}
# statuscake-api-token: ${{ secrets.STATUSCAKE_API_TOKEN }}
#
# deploy_sandbox:
# name: Deploy sandbox
# needs: [deploy_staging]
# runs-on: ubuntu-latest
# environment:
# name: sandbox
#
# steps:
# - uses: actions/checkout@v3
#
# - uses: ./.github/actions/deploy-environment-to-aks
# id: deploy
# with:
# environment: sandbox
# docker-image: ${{ needs.deploy_staging.outputs.docker-image }}
# azure-credentials: ${{ secrets.AZURE_CREDENTIALS }}
# current-commit-sha: ${{ github.sha }}
# statuscake-api-token: ${{ secrets.STATUSCAKE_API_TOKEN }}
#
# deploy_production:
# name: Deploy production
# needs: [deploy_staging]
# runs-on: ubuntu-latest
# environment:
# name: production
#
# steps:
# - uses: actions/checkout@v3
#
# - uses: ./.github/actions/deploy-environment-to-aks
# id: deploy
# with:
# environment: production
# docker-image: ${{ needs.deploy_staging.outputs.docker-image }}
# azure-credentials: ${{ secrets.AZURE_CREDENTIALS }}
# current-commit-sha: ${{ github.sha }}
# statuscake-api-token: ${{ secrets.STATUSCAKE_API_TOKEN }}