Skip to content

Maint/tests

Maint/tests #83

Workflow file for this run

name: Tests
on:
pull_request:
paths:
- 'src/**'
- 'docker/**'
- 'docker-compose.yaml'
- 'pyproject.toml'
- '.github/workflows/tests.yml'
permissions:
contents: write
jobs:
compare-php:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.x
# A naive `docker compose up` would first build the `python-api` container and then
# start all services, which kickstarts Elastic Search and building indices.
# But since those two steps are independent, we can parallelize them to save time.
- run: |
docker compose build python-api
docker compose up -d --wait python-api php-api
- run: docker container ls && docker image ls
- run: docker exec python-api python -m pip freeze
- run: docker exec python-api coverage run -m pytest -xv -m "php_api"
- run: docker exec python-api coverage xml
- name: Upload results to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.x
- run: docker compose up -d --wait database python-api
- run: docker container ls && docker image ls
- run: docker exec python-api python -m pip freeze
- run: docker exec python-api coverage run -m pytest -xv -m "not php_api"
- run: docker exec python-api coverage xml
- name: Upload results to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}