Skip to content

Commit

Permalink
:Merge branch 'main' of https://github.com/SkywardAI/chat-backend int…
Browse files Browse the repository at this point in the history
…o dev
  • Loading branch information
Micost committed Mar 21, 2024
2 parents 9d0342f + 7a60789 commit dbe8a42
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 93 deletions.
179 changes: 90 additions & 89 deletions .github/workflows/ci-backend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,99 +78,100 @@ jobs:
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
# test:
# name: 'Test 🔬'
# needs: build
# strategy:
# matrix:
# os:
# - ubuntu-latest
# python-version:
# - "3.11"
# defaults:
# run:
# working-directory: backend/
# services:
# postgres:
# image: postgres:14.2-alpine
# env:
# POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
# POSTGRES_USER: ${{ secrets.POSTGRES_USERNAME }}
# POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
# ports:
# - 5432:5432
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# env:
# ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
# DEBUG: ${{ secrets.DEBUG }}
# POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
# POSTGRES_HOST: ${{ secrets.POSTGRES_HOST }}
# POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
# POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}
# POSTGRES_SCHEMA: ${{ secrets.POSTGRES_SCHEMA }}
# POSTGRES_USERNAME: ${{ secrets.POSTGRES_USERNAME }}
# BACKEND_SERVER_HOST: ${{ secrets.BACKEND_SERVER_HOST }}
# BACKEND_SERVER_PORT: ${{ secrets.BACKEND_SERVER_PORT }}
# BACKEND_SERVER_WORKERS: ${{ secrets.BACKEND_SERVER_WORKERS }}
# DB_TIMEOUT: ${{ secrets.DB_TIMEOUT }}
# DB_POOL_SIZE: ${{ secrets.DB_POOL_SIZE }}
# DB_MAX_POOL_CON: ${{ secrets.DB_MAX_POOL_CON }}
# DB_POOL_OVERFLOW: ${{ secrets.DB_POOL_OVERFLOW }}
# IS_DB_ECHO_LOG: ${{ secrets.IS_DB_ECHO_LOG }}
# IS_DB_EXPIRE_ON_COMMIT: ${{ secrets.IS_DB_EXPIRE_ON_COMMIT }}
# IS_DB_FORCE_ROLLBACK: ${{ secrets.IS_DB_FORCE_ROLLBACK }}
# IS_ALLOWED_CREDENTIALS: ${{ secrets.IS_ALLOWED_CREDENTIALS }}
# API_TOKEN: ${{ secrets.API_TOKEN }}
# AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }}
# JWT_SUBJECT: ${{ secrets.JWT_SUBJECT }}
# JWT_TOKEN_PREFIX: ${{ secrets.JWT_TOKEN_PREFIX }}
# JWT_ALGORITHM: ${{ secrets.JWT_ALGORITHM }}
# JWT_MIN: ${{ secrets.JWT_MIN }}
# JWT_HOUR: ${{ secrets.JWT_HOUR }}
# JWT_DAY: ${{ secrets.JWT_DAY }}
# HASHING_ALGORITHM_LAYER_1: ${{ secrets.HASHING_ALGORITHM_LAYER_1 }}
# HASHING_ALGORITHM_LAYER_2: ${{ secrets.HASHING_ALGORITHM_LAYER_2 }}
# HASHING_SALT: ${{ secrets.HASHING_SALT }}
test:
name: 'Test 🔬'
needs: build
strategy:
matrix:
os:
- ubuntu-latest
python-version:
- "3.11"
defaults:
run:
working-directory: backend/
services:
postgres:
image: postgres:14.2-alpine
env:
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
POSTGRES_USER: ${{ secrets.POSTGRES_USERNAME }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
ENVIRONMENT: ${{ secrets.ENVIRONMENT }}
DEBUG: ${{ secrets.DEBUG }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
POSTGRES_HOST: ${{ secrets.POSTGRES_HOST }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}
POSTGRES_SCHEMA: ${{ secrets.POSTGRES_SCHEMA }}
POSTGRES_USERNAME: ${{ secrets.POSTGRES_USERNAME }}
BACKEND_SERVER_HOST: ${{ secrets.BACKEND_SERVER_HOST }}
BACKEND_SERVER_PORT: ${{ secrets.BACKEND_SERVER_PORT }}
BACKEND_SERVER_WORKERS: ${{ secrets.BACKEND_SERVER_WORKERS }}
DB_TIMEOUT: ${{ secrets.DB_TIMEOUT }}
DB_POOL_SIZE: ${{ secrets.DB_POOL_SIZE }}
DB_MAX_POOL_CON: ${{ secrets.DB_MAX_POOL_CON }}
DB_POOL_OVERFLOW: ${{ secrets.DB_POOL_OVERFLOW }}
IS_DB_ECHO_LOG: ${{ secrets.IS_DB_ECHO_LOG }}
IS_DB_EXPIRE_ON_COMMIT: ${{ secrets.IS_DB_EXPIRE_ON_COMMIT }}
IS_DB_FORCE_ROLLBACK: ${{ secrets.IS_DB_FORCE_ROLLBACK }}
IS_ALLOWED_CREDENTIALS: ${{ secrets.IS_ALLOWED_CREDENTIALS }}
API_TOKEN: ${{ secrets.API_TOKEN }}
AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }}
JWT_SUBJECT: ${{ secrets.JWT_SUBJECT }}
JWT_TOKEN_PREFIX: ${{ secrets.JWT_TOKEN_PREFIX }}
JWT_ALGORITHM: ${{ secrets.JWT_ALGORITHM }}
JWT_MIN: ${{ secrets.JWT_MIN }}
JWT_HOUR: ${{ secrets.JWT_HOUR }}
JWT_DAY: ${{ secrets.JWT_DAY }}
HASHING_ALGORITHM_LAYER_1: ${{ secrets.HASHING_ALGORITHM_LAYER_1 }}
HASHING_ALGORITHM_LAYER_2: ${{ secrets.HASHING_ALGORITHM_LAYER_2 }}
HASHING_SALT: ${{ secrets.HASHING_SALT }}

# runs-on: ${{ matrix.os }}
# steps:
# - name: Check repository
# uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# cache: 'pip'
# - name: Display Python version
# run: python -c "import sys; print(sys.version)"
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# - name: Install Dependencies for Testing
# run: |
# pip install pytest pytest-asyncio pytest pytest-xdist
# - name: Test with Pytest-Cov
# run: |
# pytest --cov --cov-report xml .
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v3
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# fail_ci_if_error: false
# flags: backend_app_tests
# name: codecov-umbrella
# verbose: true
runs-on: ${{ matrix.os }}
steps:
- name: Check repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Install Dependencies for Testing
run: |
pip install pytest pytest-asyncio pytest pytest-xdist
- name: Test with Pytest-Cov
run: |
pytest --cov --cov-report xml .
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
flags: backend_app_tests
slug: SkywardAI/chat-backend
name: codecov-umbrella
verbose: true

docker_build:
name: 'Docker Build 🐳'
needs: code-quality
needs: [build, code-quality, test]
strategy:
matrix:
os:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
- main
# pull_request event is required only for autolabeler
pull_request:
# Only following types are handled by the action, but one can default to all as well
Expand All @@ -31,6 +31,8 @@ jobs:
# (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
with:
config-name: release-drafter.yml
# https://github.com/release-drafter/release-drafter/issues/1125
commitish: main
# disable-autolabeler: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ addopts = '''
--cov-report=html:coverage/cov.html
--cov-report=xml:coverage/cov.xml
--no-cov-on-fail
--cov-fail-under=63
--cov-fail-under=5
--numprocesses=auto
--asyncio-mode=auto
'''
2 changes: 1 addition & 1 deletion backend/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ async def async_client(initialize_backend_test_application: fastapi.FastAPI) ->
base_url="http://testserver",
headers={"Content-Type": "application/json"},
) as client:
yield client
yield client
2 changes: 1 addition & 1 deletion codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ flag_management:
- backend/
statuses:
- type: project
target: 60%
target: 5%
threshold: 1%

0 comments on commit dbe8a42

Please sign in to comment.