Skip to content

Commit

Permalink
feat(backend): add ci to run pytest
Browse files Browse the repository at this point in the history
  • Loading branch information
berdal84 committed Jan 25, 2024
1 parent b770d47 commit d51a945
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 1 deletion.
60 changes: 60 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Backend CI
on:
workflow_dispatch:
push:
branches: [ "main" ]
paths:
- .github/workflows/python.yml
- backend/**
pull_request:
branches: [ "main" ]
paths:
- .github/workflows/python.yml
- backend/**

jobs:
test:
# You must use a Linux environment when using service containers or container jobs
runs-on: ubuntu-latest

# Service containers to run with `runner-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Install dependencies
run: |
cd backend
python -m pip install --upgrade pip
pip install -r requirements_dev.txt
- name: Test with pytest
run: |
cd backend
pytest
env:
DB_HOST: localhost:5432
DB_NAME: postgres
DB_USER: postgres
DB_PASSWORD: postgres
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@

[![Frontend CI](https://github.com/berdal84/biostack/actions/workflows/node.js.yml/badge.svg)](https://github.com/berdal84/biostack/actions/workflows/node.js.yml)

[![Backend CI](https://github.com/berdal84/biostack/actions/workflows/python.yml/badge.svg)](https://github.com/berdal84/biostack/actions/workflows/python.yml)

# Biostack

This project is a client/server to manage Biotech Data. It is implemented using FastAPI and NextJS, with a Postgres database.
Expand Down Expand Up @@ -53,5 +55,5 @@ For more information, read [backend's readme](./backend/README.md) and [frontend

### Backend
- [x] Add postres and fastapi to the existing docker-compose.yml
- [ ] Use Github Actions's services to run pytest with postgres
- [x] Use Github Actions's services to run pytest with postgres
- [ ] Setup Alembic to handle DB upgrades
2 changes: 2 additions & 0 deletions backend/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![Backend CI](https://github.com/berdal84/biostack/actions/workflows/python.yml/badge.svg)](https://github.com/berdal84/biostack/actions/workflows/python.yml)


# BioStack's Backend

Expand Down

0 comments on commit d51a945

Please sign in to comment.