Skip to content

Commit

Permalink
#77: improve GitHub workflow ci-tests to reuse images and test deploy…
Browse files Browse the repository at this point in the history
… docker-compose
  • Loading branch information
Wolkenfarmer committed Mar 16, 2024
1 parent 1d58beb commit 88ff1ea
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 8 deletions.
57 changes: 51 additions & 6 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@ jobs:
cd ./frontend/
docker-compose up -d
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push frontend Docker images
run: |
docker tag dps_training_k-frontend ghcr.io/hpi-sam/dps_training_k-frontend:dev
docker push ghcr.io/hpi-sam/dps_training_k-frontend:dev
build-and-test-backend:
runs-on: ubuntu-latest
steps:
Expand All @@ -34,6 +46,27 @@ jobs:
docker pull redis:latest
docker-compose up -d
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push backend Docker images
run: |
docker tag dps_training_k-django ghcr.io/hpi-sam/dps_training_k-django:dev
docker push ghcr.io/hpi-sam/dps_training_k-django:dev
docker tag dps_training_k-celeryworker ghcr.io/hpi-sam/dps_training_k-celeryworker:dev
docker push ghcr.io/hpi-sam/dps_training_k-celeryworker:dev
docker tag dps_training_k-celerybeat ghcr.io/hpi-sam/dps_training_k-celerybeat:dev
docker push ghcr.io/hpi-sam/dps_training_k-celerybeat:dev
docker tag dps_training_k-nginx ghcr.io/hpi-sam/dps_training_k-nginx:dev
docker push ghcr.io/hpi-sam/dps_training_k-nginx:dev
docker tag dps_training_k-postgres ghcr.io/hpi-sam/dps_training_k-postgres:dev
docker push ghcr.io/hpi-sam/dps_training_k-postgres:dev
# Skip redis as it is just the public Docker Hub image anyway and therefore should be directly pulled from there
- name: Run backend tests
run: docker exec K-dPS-django python3 manage.py test

Expand All @@ -47,15 +80,27 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Build frontend Docker container
run: |
cd ./frontend/
docker-compose up -d
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build backend Docker containers
- name: Pull Docker images
run: |
cd ./backend/dps_training_k/
docker pull ghcr.io/hpi-sam/dps_training_k-frontend:dev
docker pull ghcr.io/hpi-sam/dps_training_k-django:dev
docker pull ghcr.io/hpi-sam/dps_training_k-celeryworker:dev
docker pull ghcr.io/hpi-sam/dps_training_k-celerybeat:dev
docker pull ghcr.io/hpi-sam/dps_training_k-nginx:dev
docker pull ghcr.io/hpi-sam/dps_training_k-postgres:dev
docker pull redis:latest
- name: Run docker containers with deploy configuration
run: |
cp ./backend/dps_training_k/.env ./
cp ./frontend/env.d.ts ./
docker-compose up -d
- name: Run integration tests
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,13 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

# Build and push frontend images
- name: Build and push frontend Docker images
run: |
cd ./frontend/
docker-compose build
docker tag dps_training_k-frontend ghcr.io/hpi-sam/dps_training_k-frontend:latest
docker push ghcr.io/hpi-sam/dps_training_k-frontend:latest
# Build and push backend images
- name: Build and push backend Docker images
run: |
cd ./backend/dps_training_k/
Expand Down

0 comments on commit 88ff1ea

Please sign in to comment.