Skip to content

Add qcportal as dependency to qcfractal #629

Add qcportal as dependency to qcfractal

Add qcportal as dependency to qcfractal #629

Workflow file for this run

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@v5
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@v3
with:
python-version: ${{ matrix.python-version }}
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@v3
with:
python-version: ${{ matrix.python-version }}
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@v3
with:
python-version: ${{ matrix.python-version }}
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