diff --git a/.github/workflows/prod-envs-docker.yml b/.github/workflows/prod-envs-docker.yml index 8d9cd6c2..45bef5b9 100644 --- a/.github/workflows/prod-envs-docker.yml +++ b/.github/workflows/prod-envs-docker.yml @@ -17,8 +17,9 @@ jobs: #- qcarchive-worker-openff-ani #- qcarchive-worker-openff-openmm #- qcarchive-worker-openff-psi4 - #- qcarchive-worker-openff-psi4-ddx - - qcarchive-worker-openff-xtb + - qcarchive-worker-openff-psi4-ddx + #- qcarchive-worker-openff-xtb + - qcarchive-worker-openff-psi4-basis-set-update steps: - name: Checkout code uses: nschloe/action-cached-lfs-checkout@v1 diff --git a/devtools/docker/qcarchive-worker-openff/Dockerfile b/devtools/docker/qcarchive-worker-openff/Dockerfile index 13a0767a..5517272c 100644 --- a/devtools/docker/qcarchive-worker-openff/Dockerfile +++ b/devtools/docker/qcarchive-worker-openff/Dockerfile @@ -2,14 +2,24 @@ FROM condaforge/miniforge3 SHELL ["/bin/bash", "-c"] -RUN mamba env create -n qcfractal -f https://raw.githubusercontent.com/openforcefield/qca-dataset-submission/master/devtools/prod-envs/${ENV_NAME}.yaml +ADD https://raw.githubusercontent.com/openforcefield/qca-dataset-submission/update_docker/devtools/prod-envs/${ENV_NAME}.yaml /tmp/env.yaml +RUN echo ${ENV_NAME} +RUN mamba env create -n qcfractal -f /tmp/env.yaml && \ + if [[ "${ENV_NAME}" =~ "basis-set-update" ]]; then \ + echo "!!!!!!!!!!!!\n!!! Modifying Basis Set!!!\n!!!!!!!!!!!!!!!" && \ + mamba run -n qcfractal python -c "import basis_set_exchange as bse, os; \ + conda_prefix = os.environ.get('CONDA_PREFIX', '/opt/conda/envs/qcfractal'); \ + path = os.path.join(conda_prefix, 'share', 'psi4', 'basis', 'aug-cc-pvtz-dk.gbs'); \ + data = bse.get_basis('aug-cc-pVTZ-dk', fmt='psi4', header=True, optimize_general=True); \ + open(path, 'w').write(data)"; \ + fi RUN groupadd -g 999 qcfractal && \ useradd -m -r -u 999 -g qcfractal qcfractal USER qcfractal -ENV PATH /opt/conda/bin:$PATH +ENV PATH=/opt/conda/bin:$PATH RUN echo "source activate qcfractal" > ~/.bashrc -ENTRYPOINT /bin/bash -c "source activate qcfractal && qcfractal-compute-manager --config /etc/qcfractal-manager/manager.yaml --verbose" +ENTRYPOINT /bin/bash -c "source activate qcfractal && qcfractal-compute-manager --config /etc/qcfractal-manager/manager.yaml --verbose" \ No newline at end of file diff --git a/devtools/prod-envs/qcarchive-worker-openff-psi4-basis-set-update.yaml b/devtools/prod-envs/qcarchive-worker-openff-psi4-basis-set-update.yaml new file mode 100644 index 00000000..6a4589d5 --- /dev/null +++ b/devtools/prod-envs/qcarchive-worker-openff-psi4-basis-set-update.yaml @@ -0,0 +1,24 @@ +name: qcarchive-worker-openff-psi4 +channels: + - conda-forge/label/libint_dev + - conda-forge +dependencies: + - python =3.10 + - pip + - qcfractalcompute>=0.60 + - qcengine + - qcelemental + + # QM calculations + - psi4 + - pyddx + - dftd3-python + - gcp-correction + - scipy + - dftd4-python + + # procedures + - geometric + + - pip: + - basis_set_exchange diff --git a/devtools/prod-envs/qcarchive-worker-openff-psi4-ddx.yaml b/devtools/prod-envs/qcarchive-worker-openff-psi4-ddx.yaml index a1f6aff6..6a4589d5 100644 --- a/devtools/prod-envs/qcarchive-worker-openff-psi4-ddx.yaml +++ b/devtools/prod-envs/qcarchive-worker-openff-psi4-ddx.yaml @@ -5,7 +5,7 @@ channels: dependencies: - python =3.10 - pip - - qcfractalcompute + - qcfractalcompute>=0.60 - qcengine - qcelemental @@ -15,6 +15,7 @@ dependencies: - dftd3-python - gcp-correction - scipy + - dftd4-python # procedures - geometric