11# Run the complete test suite incl. many external command line dependencies (like Openbabel)
2-
32# as well as the pymatgen.ext package. Coverage used to be computed based on this workflow.
43name : test
54
7776 - name : Install uv
7877 uses : astral-sh/setup-uv@v4
7978
80- - name : Install ZEO++ (Linux and macOS)
81- if : matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'macos-latest'
82- run : |
83- # Download and extract ZEO++
84- wget -q http://www.zeoplusplus.org/zeo++-0.3.tar.gz
85- tar -xzf zeo++-0.3.tar.gz
86-
87- # Compile Voro++ library first
88- cd zeo++-0.3/voro++/src
89- make
90-
91- # Add Voro++ to PATH
92- echo "$(pwd)" >> $GITHUB_PATH
93-
94- # Compile ZEO++
95- cd ../../
96- make
97-
98- # Add ZEO++ to PATH
99- echo "$(pwd)" >> $GITHUB_PATH
100-
10179 - name : Install pymatgen and dependencies via uv
10280 run : |
10381 micromamba activate pmg
@@ -115,19 +93,23 @@ jobs:
11593 pip install --upgrade matgl>=1.2.6
11694 pip install torch==2.2.0 torchdata==0.7.1
11795
118- - name : Install optional Ubuntu dependencies
119- if : matrix.config.os == 'ubuntu-latest'
96+ - name : Install optional Ubuntu and macOS dependencies
97+ if : matrix.config.os == 'ubuntu-latest' || matrix.config.os == 'macos-latest'
12098 run : |
12199 # Install BoltzTraP
122100 wget -q -O BoltzTraP.tar.bz2 https://owncloud.tuwien.ac.at/index.php/s/s2d55LYlZnioa3s/download
123- tar -jxf BoltzTraP.tar.bz2
124- echo "$(realpath boltztrap-1.2.5/src/)" >> $GITHUB_PATH
101+ tar -jxf BoltzTraP.tar.bz2 && realpath boltztrap-1.2.5/src/ >> $GITHUB_PATH
125102
126103 # Install Vampire 5.0
127104 wget -q https://vampire.york.ac.uk/resources/release-5/vampire-5.0-linux.tar.gz
128- tar -zxf vampire-5.0-linux.tar.gz
129- mv linux vampire-5.0
130- echo "$(realpath vampire-5.0/)" >> $GITHUB_PATH
105+ tar -zxf vampire-5.0-linux.tar.gz && mv linux vampire-5.0
106+ realpath vampire-5.0/ >> $GITHUB_PATH
107+
108+ # Install Voro++ and ZEO++
109+ wget -q http://www.zeoplusplus.org/zeo++-0.3.tar.gz && tar -xzf zeo++-0.3.tar.gz
110+
111+ cd zeo++-0.3/voro++/src && make -s CFLAGS="-w" && realpath . >> $GITHUB_PATH && cd ../..
112+ make -s CFLAGS="-w" && realpath . >> $GITHUB_PATH
131113
132114 - name : pytest split ${{ matrix.split }}
133115 env :
@@ -136,11 +118,6 @@ jobs:
136118 PMG_TEST_FILES_DIR : " ${{ github.workspace }}/tests/files"
137119 run : |
138120 micromamba activate pmg
139- # Print environment info and if ZEO++ is available
140- if [ "${{ matrix.config.os }}" == "ubuntu-latest" ] || [ "${{ matrix.config.os }}" == "macos-latest" ]; then
141- which network || echo "ZEO++ not found in PATH"
142- python -c "try: import zeo; print('ZEO++ Python module found'); except ImportError: print('ZEO++ Python module not found')"
143- fi
144121
145122 pytest --splits 10 --group ${{ matrix.split }} --durations-path tests/files/.pytest-split-durations tests
146123
0 commit comments