2424 STATSMODELS : 0.13.1
2525 XARRAY : 0.21.0
2626 FORMULAIC : 1.0.2
27- test.install : true
27+ test.wheel : true
2828 python310_mid :
2929 python.version : ' 3.10'
3030 NUMPY : 1.23.0
3434 XARRAY : 2022.6.0
3535 XXHASH : true
3636 FORMULAIC : 1.0.2
37- test.install : true
37+ test.wheel : true
3838 python310_recent :
3939 python.version : ' 3.10'
4040 NUMPY : 1.24.0
@@ -43,15 +43,15 @@ jobs:
4343 STATSMODELS : 0.14.0
4444 XARRAY : 2023.4.0
4545 FORMULAIC : 1.1.0
46- test.install : true
46+ test.wheel : true
4747 python310_latest :
4848 python.version : ' 3.10'
4949 FORMULAIC : 1.2.0
5050 XXHASH : true
5151 PYARROW : true
5252 python310_no_cython :
5353 python.version : ' 3.10'
54- LM_NO_BINARY : 1
54+ BUILD_FLAGS : ' -Csetup-args=-Dno-binary=true '
5555 python311_latest :
5656 python.version : ' 3.11'
5757 XXHASH : true
8181 displayName : ' Use Python $(python.version)'
8282
8383 - script : |
84- python -m pip install --upgrade pip wheel
84+ python -m pip install --upgrade pip wheel build
8585 python -m pip install -r requirements.txt
8686 python -m pip install -r requirements-test.txt
8787 python -m pip install -r requirements-dev.txt
@@ -102,18 +102,26 @@ jobs:
102102 displayName: 'Check style and formatting'
103103
104104 - script : |
105- echo "Installing to site packages"
106- python -m pip wheel . --wheel-dir ./dist/ --no-build-isolation
105+ echo "Installing to site packages (sdist)"
106+ python -m build --sdist . -v
107+ SDIST=$(ls -t ./dist/linearmodels-*.gz | head -1)
108+ pip install ${SDIST}
109+ displayName: 'Install linearmodels (site-packages)'
110+ condition: eq(variables['test.sdist'], 'true')
111+
112+ - script : |
113+ echo "Installing to site packages (wheel)"
114+ python -m pip wheel . --wheel-dir ./dist/
107115 WHL=$(ls -t ./dist/linearmodels-*.whl | head -1)
108116 pip install ${WHL}
109117 displayName: 'Install linearmodels (site-packages)'
110- condition: eq(variables['test.install '], 'true')
118+ condition: eq(variables['test.wheel '], 'true')
111119
112120 - script : |
113- echo python -m pip install -e . -v -- no-build-isolation
114- python -m pip install -e . -v -- no-build-isolation
121+ echo python -m pip install -- no-build-isolation -vv -e . ${FLAGS}
122+ python -m pip install -- no-build-isolation -vv -e . ${FLAGS}
115123 displayName: 'Install linearmodels (editable)'
116- condition: ne(variables['test.install '], 'true')
124+ condition: and( ne(variables['test.wheel '], 'true'), ne(variables['test.sdist'], 'true') )
117125
118126 - script : |
119127 echo "Testing site packages"
@@ -122,17 +130,17 @@ jobs:
122130 python -c "import linearmodels; linearmodels.test(['-n', 'auto', '--junitxml=../junit/test-results.xml'])"
123131 popd
124132 displayName: 'Run tests (site-packages)'
125- condition: and (eq(variables['test.install '], 'true'), ne (variables['pip.pre '], 'true'))
133+ condition: or (eq(variables['test.wheel '], 'true'), eq (variables['test.sdist '], 'true'))
126134
127135 - script : |
128136 echo "Testing editable install"
129137 if [[ ${COVERAGE} == "true" ]]; then
130- export COVERAGE_OPTS="--cov-config .coveragerc --cov =linearmodels --cov-report xml:coverage.xml --cov-report term"
138+ export COVERAGE_OPTS="--cov=linearmodels --cov-report xml:coverage.xml --cov-report term"
131139 fi
132140 echo pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} linearmodels/tests
133141 pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} linearmodels/tests
134142 displayName: 'Run tests (editable)'
135- condition: and(ne(variables['test.install '], 'true'), ne(variables['pip.pre'], 'true'))
143+ condition: and(or( ne(variables['test.wheel '], 'true'), ne(variables['test.sdist'], 'true') ), ne(variables['pip.pre'], 'true'))
136144
137145 - script : |
138146 echo "Testing pip-pre"
0 commit comments