change commit stage to run docker compose for containers separately #32
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: ci | |
on: | |
push: | |
branches: [main] | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
ci: | |
runs-on: ubuntu-22.04 | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v2 | |
- name: 'COMMIT STAGE: (compile, unit test, analysis, build installers in under 5 minutes)' | |
run: | | |
echo Building docker image | |
docker-compose -f docker-compose.yaml -f docker-compose.dev.yaml -f docker-compose.test.yaml up --build frontend | |
docker-compose -f docker-compose.yaml -f docker-compose.dev.yaml -f docker-compose.test.yaml up --build api | |
- name: Clean up | |
if: always() | |
run: docker-compose -f docker-compose.yaml -f docker-compose.dev.yaml -f docker-compose.test.yaml down | |
- name: 'COMMIT STAGE: Log in to the Container registry' | |
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: 'COMMIT STAGE: Extract metadata for UI image' | |
id: meta-ui | |
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
tags: type=raw,value=ui-{{branch}}-{{sha}} | |
- name: 'COMMIT STAGE: Build and push UI image' | |
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 | |
with: | |
context: "{{defaultContext}}:ui/react-app" | |
push: true | |
tags: ${{ steps.meta-ui.outputs.tags }} | |
- name: 'COMMIT STAGE: Extract metadata for API image' | |
id: meta-api | |
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
tags: type=raw,value=api-{{branch}}-{{sha}} | |
- name: 'COMMIT STAGE: Build and push API image' | |
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 | |
with: | |
context: "{{defaultContext}}:api/flask_api" | |
push: true | |
tags: ${{ steps.meta-api.outputs.tags }} | |
- name: 'Artifact/release candidate with a unique id' | |
run: echo 'This is where I will publish my package (on github?)' | |
- name: 'Acceptance testing in prod-like envrionment' | |
run: echo 'This is where the acceptance tests will run' | |
- name: 'Production' | |
run: echo 'This is where the application will be deployed' | |