Feat Production Setup (#8) #1
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: Build, Test, and Push Docker Image | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
test: | |
name: Test API | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Run tests | |
run: docker-compose run --rm api sh -c "pytest /api/tests" | |
build-and-push: | |
name: Build and Push Docker Image | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Build client image | |
run: docker build -f client/Dockerfile-prod -t 17021702/webeye-client:latest client/ | |
- name: Build API image | |
run: docker build -t 17021702/webeye-api:latest ./api | |
- name: Push client image | |
run: docker push 17021702/webeye-client:latest | |
- name: Push API image | |
run: docker push 17021702/webeye-api:latest |