diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5564c0fa5400b38edb45ad8c9938113706eae45e..68216a55d59c2460a69a40a2eb6bdaafbb15efa9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,7 @@ pytest: only: [merge_requests] script: - export LANG=C # Hopefully detect anything relying on locale - - python3 -m pip install ".[test]" + - python3 -m pip install ".[test]" --index-url https://git.xfel.eu/api/v4/groups/501/-/packages/pypi/simple - python3 -m pytest --color yes --verbose --cov=cal_tools --cov=xfel_calibrate --cov-report html:htmlcov --cov-report term coverage: '/TOTAL.*? (\d+(?:\.\d+)?\%)$/' artifacts: @@ -58,7 +58,7 @@ cython-editable-install-test: stage: test only: [merge_requests] script: - - python3 -m pip install -e ".[test]" + - python3 -m pip install -e ".[test]" --index-url https://git.xfel.eu/api/v4/groups/501/-/packages/pypi/simple - python3 -m pytest --color yes --verbose ./tests/test_cythonalgs.py automated_test: @@ -76,7 +76,7 @@ automated_test: - integration script: - export LANG=C # Hopefully detect anything relying on locale - - python3 -m pip install ".[test]" + - python3 -m pip install ".[test]" --index-url https://git.xfel.eu/api/v4/groups/501/-/packages/pypi/simple - python3 -c "from cal_tools.restful_config import restful_config; print(restful_config.get('calcat')['base-api-url'])" - echo "Running automated test. This can take sometime to finish depending on the test data." - echo "Given variables are REFERENCE=$REFERENCE, OUTPUT=$OUTPUT, DETECTORS=$DETECTORS, CALIBRATION=$CALIBRATION" diff --git a/setup.py b/setup.py index b8ce52d6d54df2a7be36b59fbd90f74a2c4ee64a..a4bbd1d2561f0f210cc618becd043ce58bd59455 100644 --- a/setup.py +++ b/setup.py @@ -62,7 +62,7 @@ install_requires = [ "docutils==0.20.1", "dynaconf==3.2.4", "dynflatfield==1.1.0", - "env_cache==0.1", + "env_cache==0.2", "extra_data==1.16.0", "extra_geom==1.11.0", "gitpython==3.1.42", @@ -108,13 +108,16 @@ install_requires = [ ] if "readthedocs.org" not in sys.executable: + # These are in our own internal index, install with: + # --index-url https://git.xfel.eu/api/v4/groups/501/-/packages/pypi/simple install_requires += [ - "iCalibrationDB @ git+ssh://git@git.xfel.eu:10022/detectors/cal_db_interactive.git@2.4.3", # noqa - "XFELDetectorAnalysis @ git+ssh://git@git.xfel.eu:10022/karaboDevices/pyDetLib.git@6749b1949d7ca4bc5fef69e1ad8407e247dff9e5", # noqa - "CalParrot @ git+ssh://git@git.xfel.eu:10022/calibration/calparrot.git@0.3", # noqa + "iCalibrationDB==2.4.3", + "XFELDetectorAnalysis==2.7.2", # aka pyDetLib + "CalParrot==0.3", # iminuit 1.3.8 is compatible with Python 3.11, but there isn't a 3.11 # wheel on PyPI, and building directly from source doesn't work. - "iminuit @ https://git.xfel.eu/api/v4/projects/4538/packages/generic/iminuit/1.3.8/iminuit-1.3.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", # noqa + # We have built a wheel & uploaded it on Gitlab. + "iminuit==1.3.8", ] setup( diff --git a/src/xfel_calibrate/repeat.py b/src/xfel_calibrate/repeat.py index e9939b5d39fb223306d00907835ff8f77cf5dc08..4f31f3b5835b7913098083aa85075068ea95dd38 100644 --- a/src/xfel_calibrate/repeat.py +++ b/src/xfel_calibrate/repeat.py @@ -14,6 +14,10 @@ from .calibrate import ( JobChain, SlurmOptions, run_finalize, get_pycalib_version, ) +# Python package index, including our internal packages +INDEX_URL = "https://git.xfel.eu/api/v4/groups/501/-/packages/pypi/simple" + + # This function is copied and modified from Python 3.8.10 # Copyright © 2001-2022 Python Software Foundation; All Rights Reserved # Used under the PSF license - https://docs.python.org/3/license.html @@ -74,7 +78,7 @@ def get_python(args, py_version): reqs = (args.from_dir / 'requirements.txt').read_text('utf-8') reqs = munge_requirements(reqs) env_mgr = EnvsManager( - Path(args.env_cache), PyenvEnvMaker() + Path(args.env_cache), PyenvEnvMaker(), index_url=INDEX_URL, ) return env_mgr.get_env(py_version, reqs).resolve() / 'bin' / 'python' elif args.python: