Replace gunicorn with waitress and fix logging issues #591
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: Full Suite End-to-end test | |
on: | |
push: | |
branches: | |
- main | |
- next | |
paths-ignore: | |
- 'docs/**' | |
pull_request: | |
branches: | |
- main | |
- next | |
paths-ignore: | |
- 'docs/**' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Clone the QCArchive repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
path: qcarchive | |
################################################# | |
# QCFractal Server | |
################################################# | |
- name: Configure conda for the QCFractal server | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: qcarchive-server | |
environment-file: qcarchive/qcarchivetesting/conda-envs/fulltest_server.yaml | |
auto-activate-base: false | |
- name: Install QCFractal | |
shell: bash -l {0} | |
run: | | |
pip install --no-deps -e ./qcarchive/qcportal -e ./qcarchive/qcfractalcompute -e ./qcarchive/qcfractal | |
- name: Conda info for the QCFractal server | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
- name: Start the QCFractal server | |
shell: bash -l {0} | |
run: | | |
mkdir server; cd server | |
cp ../qcarchive/qcarchivetesting/qcarchivetesting/config_files/gha_fractal_server.yaml ./ | |
qcfractal-server --config=gha_fractal_server.yaml init-db | |
qcfractal-server --config=gha_fractal_server.yaml start & | |
################################################# | |
# QCFractalCompute worker | |
################################################# | |
- name: Configure conda for QCFractalCompute worker | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: qcarchive-worker | |
environment-file: qcarchive/qcarchivetesting/conda-envs/fulltest_worker.yaml | |
auto-activate-base: false | |
- name: Install QCFractalCompute | |
shell: bash -l {0} | |
run: | | |
pip install --no-deps -e ./qcarchive/qcportal -e ./qcarchive/qcfractalcompute | |
- name: Conda info for the QCFractalCompute worker | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
- name: Start the QCFractalCompute worker | |
shell: bash -l {0} | |
run: | | |
mkdir compute; cd compute | |
cp ../qcarchive/qcarchivetesting/qcarchivetesting/config_files/gha_fractal_compute.yaml ./ | |
qcfractal-compute-manager --config=gha_fractal_compute.yaml & | |
################################################# | |
# QCPortal client | |
################################################# | |
- name: Configure conda for the QCPortal client | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
activate-environment: qcarchive-qcportal | |
environment-file: qcarchive/qcarchivetesting/conda-envs/fulltest_qcportal.yaml | |
auto-activate-base: false | |
- name: Install QCPortal | |
shell: bash -l {0} | |
run: | | |
pip install --no-deps -e ./qcarchive/qcportal | |
pip install pytest | |
- name: Conda info for the QCPortal client | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
################################################# | |
# Run tests | |
################################################# | |
- name: Run Tests | |
shell: bash -l {0} | |
run: | | |
python3 -m venv testing_env | |
source testing_env/bin/activate | |
pip install --upgrade pip | |
cd qcarchive | |
pip install -e ./qcportal -e ./qcfractalcompute -e ./qcfractal -e ./qcarchivetesting | |
pytest --log-level=DEBUG --fractal-uri="http://127.0.0.1:7900" qcarchivetesting | |
- name: Stop server & worker | |
shell: bash -l {0} | |
run: | | |
killall qcfractal-compute-manager | |
killall qcfractal-server |