Skip to content
# ========================================
# Note: If you make changes to this CI/CD, please include someone from DevOps in the list of reviewers for the PR.
# ========================================
name: Build and Deploy platform
on: push
jobs:
backend-check:
name: "Backend Check"
uses: pennlabs/shared-actions/.github/workflows/django.yaml@8785a7d7b9158d8d5705a0202f5695db2c0beb97
with:
projectName: Platform
path: backend
flake: true
black: true
publish-backend:
uses: pennlabs/shared-actions/.github/workflows/[email protected]
with:
# Inputs
imageName: "platform-backend"
githubRef: ${{ github.ref }}
gitSha: ${{ github.sha }}
# Optional inputs
# Path to the docker context
path: backend
# Path to the dockerfile (relative to the `path` variable
dockerfile: Dockerfile
# If enabled, will cache from the latest version of the docker imageName
cache: true
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
needs: backend-check
publish-platform-dev:
uses: pennlabs/shared-actions/.github/workflows/[email protected]
with:
# Inputs
imageName: "platform-dev"
githubRef: ${{ github.ref }}
gitSha: ${{ github.sha }}
# Optional inputs
# Path to the docker context
path: backend
# Path to the dockerfile (relative to the `path` variable
dockerfile: Dockerfile.dev
# If enabled, will cache from the latest version of the docker imageName
cache: true
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
frontend-check:
name: "Frontend Check"
uses: pennlabs/shared-actions/.github/workflows/[email protected]
with:
path: frontend
publish-frontend:
uses: pennlabs/shared-actions/.github/workflows/[email protected]
with:
# Inputs
imageName: "platform-frontend"
githubRef: ${{ github.ref }}
gitSha: ${{ github.sha }}
# Path to the docker context
path: frontend
# Path to the dockerfile (relative to `path` variable)
dockerfile: Dockerfile
# If enabled, will cache_from the latest version of the docker image.
cache: true
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
needs: frontend-check
deploy:
name: "Deploy"
uses: pennlabs/shared-actions/.github/workflows/[email protected]
with:
githubRef: ${{ github.ref }}
gitSha: ${{ github.sha }}
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
GH_AWS_ACCESS_KEY_ID: ${{ secrets.GH_AWS_ACCESS_KEY_ID }}
GH_AWS_SECRET_ACCESS_KEY: ${{ secrets.GH_AWS_SECRET_ACCESS_KEY }}
needs:
- publish-backend
- publish-frontend
- publish-platform-dev