diff --git a/.github/workflows/pytests.yml b/.github/workflows/pytests.yml index aa6ff60c..516d64cb 100644 --- a/.github/workflows/pytests.yml +++ b/.github/workflows/pytests.yml @@ -19,6 +19,7 @@ jobs: env: coverage-on-version: "3.9" use-mpi: True + pip_constraints: ${{ env.home }}/pip_constraints.txt defaults: run: shell: bash -l {0} @@ -39,14 +40,13 @@ jobs: - name: Install dependencies from pip run: | - export PIP_CONSTRAINTS=$HOME/pip_constraints.txt - echo "numpy<2" > $PIP_CONSTRAINTS - python3 -m pip install -c $PIP_CONSTRAINTS wheel setuptools numpy scipy click matplotlib pyyaml spglib rdkit flake8 pytest pytest-cov requests + echo "numpy<2" >> ${{ env.pip_constraints }} + python3 -m pip install -c ${{ env.pip_constraints }} wheel setuptools numpy scipy click matplotlib pyyaml spglib rdkit flake8 pytest pytest-cov requests - name: Install latest ASE from pypi run: | - echo PIP_CONSTRAINTS $PIP_CONSTRAINTS - python3 -m pip install -c $PIP_CONSTRAINTS ase + echo PIP_CONSTRAINTS ${{ env.pip_constraints }} + python3 -m pip install -c ${{ env.pip_constraints }} ase echo -n "ASE VERSION " python3 -c "import ase; print(ase.__file__, ase.__version__)" @@ -79,38 +79,38 @@ jobs: git clone https://github.com/phonopy/phonopy cd phonopy - python3 -m pip install -c $PIP_CONSTRAINTS -e . -vvv + python3 -m pip install -c ${{ env.pip_constraints }} -e . -vvv cd .. git clone https://github.com/phonopy/phono3py cd phono3py - python3 -m pip install -c $PIP_CONSTRAINTS -e . -vvv + python3 -m pip install -c ${{ env.pip_constraints }} -e . -vvv cd .. - name: Install Quippy from PyPI - run: python3 -m pip install -c $PIP_CONSTRAINTS quippy-ase + run: python3 -m pip install -c ${{ env.pip_constraints }} quippy-ase - name: Install xTB (before things that need pandas like MACE and wfl, since it will break pandas-numpy compatibility by downgrading numpy) run: | conda install -c conda-forge xtb-python - python3 -m pip install -c $PIP_CONSTRAINTS typing-extensions + python3 -m pip install -c ${{ env.pip_constraints }} typing-extensions # install pandas now to encourage compatible numpy version after conda regressed it - python3 -m pip install -c $PIP_CONSTRAINTS pandas + python3 -m pip install -c ${{ env.pip_constraints }} pandas - name: MACE run: | echo "search for torch version" set +o pipefail - torch_version=$( python3 -m pip install -c $PIP_CONSTRAINTS torch== 2>&1 | fgrep 'from versions' | sed -e 's/.* //' -e 's/)//' ) + torch_version=$( python3 -m pip install -c ${{ env.pip_constraints }} torch== 2>&1 | fgrep 'from versions' | sed -e 's/.* //' -e 's/)//' ) echo "found torch version $torch_version, installing cpu-only variant" - python3 -m pip install -c $PIP_CONSTRAINTS torch==${torch_version}+cpu -f https://download.pytorch.org/whl/torch_stable.html + python3 -m pip install -c ${{ env.pip_constraints }} torch==${torch_version}+cpu -f https://download.pytorch.org/whl/torch_stable.html echo "installing mace" - python3 -m pip install -c $PIP_CONSTRAINTS git+https://github.com/ACEsuit/mace.git@main + python3 -m pip install -c ${{ env.pip_constraints }} git+https://github.com/ACEsuit/mace.git@main python3 -c "import mace; print(mace.__file__)" - name: Julia and ace fit run: | - python3 -m pip install -c $PIP_CONSTRAINTS threadpoolctl + python3 -m pip install -c ${{ env.pip_constraints }} threadpoolctl wget https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.1-linux-x86_64.tar.gz tar xzf julia-1.8.1-linux-x86_64.tar.gz # note that this hardwires a particular compatible ACE1pack version @@ -118,7 +118,7 @@ jobs: ${PWD}/julia-1.8.1/bin/julia ace1pack_install.jl - name: Install wfl (expyre and universalSOAP are dependencies) - run: python3 -m pip install -c $PIP_CONSTRAINTS . + run: python3 -m pip install -c ${{ env.pip_constraints }} . - name: Install Quantum Espresso run: | @@ -152,7 +152,7 @@ jobs: run: | # this can eaily be turned off if needed conda install -c conda-forge mpi4py openmpi pytest-mpi - python3 -m pip install -c $PIP_CONSTRAINTS mpipool + python3 -m pip install -c ${{ env.pip_constraints }} mpipool - name: Install and configure slurm and ExPyRe run: |