Split these layers up #1053
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 | |
on: | |
push: | |
branches: | |
- main | |
env: | |
COMPOSE_INTERACTIVE_NO_CLI: 1 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
COVERALLS_GIT_BRANCH: ${{ github.ref }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Fetch latest docker-compose | |
run: sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
- name: Build containers | |
run: docker-compose -f ./docker-compose.yml -f ./docker-compose.ci.yml build --parallel | |
- name: Test | |
run: docker-compose -f ./docker-compose.yml -f ./docker-compose.ci.yml run -T app poetry run make test | |
build: | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build app image | |
run: docker build -t ghcr.io/emfcamp/website:latest -f ./Dockerfile.prod . | |
- name: Build static image | |
# This builds from ghcr.io/emfcamp/website:latest, which we haven't pushed yet but should be correct locally | |
run: docker build -t ghcr.io/emfcamp/website-static:latest -f ./docker/static/Dockerfile ./docker/static/ | |
- name: Publish static image | |
# Push static first so it hopefully gets pulled first | |
run: docker push ghcr.io/emfcamp/website-static:latest | |
- name: Publish app image | |
run: docker push ghcr.io/emfcamp/website:latest |