chore(deps): Bump uvicorn from 0.23.2 to 0.29.0 in /api #273
Workflow file for this run
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: tests | |
on: | |
push: | |
branches: main | |
pull_request: | |
branches: main | |
jobs: | |
pytest: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python: [3.9] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Cache python modules | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-python-${{ matrix.python }}-${{ hashFiles('pyproject.toml') }}-tests | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e ".[test]" --upgrade | |
- name: Run unittests | |
run: | | |
coverage run -m pytest tests/ | |
coverage xml | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-main | |
path: ./coverage.xml | |
codecov-upload: | |
runs-on: ubuntu-latest | |
needs: pytest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: unittests | |
fail_ci_if_error: true | |
api: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python: [3.9] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Install poetry | |
uses: abatilo/actions-poetry@v3 | |
with: | |
poetry-version: 1.6.1 | |
- name: Lock the requirements | |
run: | | |
cd api | |
poetry lock | |
poetry export -f requirements.txt --without-hashes --with dev --output requirements.txt | |
- name: Build & run docker | |
run: cd api && docker-compose up -d --build | |
- name: Docker sanity check | |
run: sleep 15 && nc -vz localhost 8050 | |
- name: Ping server | |
run: curl http://api.localhost:8050/docs | |
- name: Run docker test | |
run: docker compose -f api/docker-compose.yml exec -T backend pytest tests/ | |
headers: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Check the headers | |
uses: frgfm/validate-python-headers@main | |
with: | |
license: 'Apache-2.0' | |
owner: 'François-Guillaume Fernandez' | |
starting-year: 2019 | |
folders: 'holocron,scripts,references,api/app,demo,docs,.github' | |
ignores: 'version.py,__init__.py' |