Skip to content

Debugging

Debugging #32

name: CI/CD Workflow
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.PROJECT_GITHUB_TOKEN }}
- name: Build the Docker image
run: |
docker build . --file backend/Dockerfile \
--tag ghcr.io/varunshaji98/investsavvy:$(date +%s) \
--tag ghcr.io/varunshaji98/investsavvy:latest
- name: Do a quick sanity test on the docker image
run: |
docker run -p 3000:3000 \
-e DB_HOST=${{ secrets.DB_HOST }} \
-e DB_PORT=${{ secrets.DB_PORT }} \
-e DB_USER=${{ secrets.DB_USER }} \
-e DB_PASS=${{ secrets.DB_PASS }} \
-e DB_NAME=${{ secrets.DB_NAME }} \
-d ghcr.io/varunshaji98/investsavvy:latest
- name: Push to Github Container Registry
run: |
docker push -a ghcr.io/varunshaji98/investsavvy
automated-api-tests:
needs: docker-build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.PROJECT_GITHUB_TOKEN }}
- name: Pull latest image from Github Container Registry
run: docker pull ghcr.io/varunshaji98/investsavvy
- name: Install Postman CLI
run: |
curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
- name: Login to Postman CLI
run: postman login --with-api-key ${{ secrets.POSTMAN_API_KEY }}
- name: Run the docker container
run: |
docker run -p 3000:3000 \
-e DB_HOST=${{ secrets.DB_HOST }} \
-e DB_PORT=${{ secrets.DB_PORT }} \
-e DB_USER=${{ secrets.DB_USER }} \
-e DB_PASS=${{ secrets.DB_PASS }} \
-e DB_NAME=${{ secrets.DB_NAME }} \
-d ghcr.io/varunshaji98/investsavvy
sleep 5
- name: Run API tests
run: |
docker images
docker ps
postman collection run "33397024-6c70459c-802f-464e-8160-f7053090d68a" \
-e "33397024-1dbd4062-670f-4bde-b475-04a9a4eb831e"