1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
# export DH_VERBOSE = 1
export PYBUILD_NAME=snakemake
export PYBUILD_DESTDIR=debian/snakemake
# copy the tests and run them from there to avoid having to clean up after them
export PYBUILD_BEFORE_TEST=chmod +x {dir}/bin/snakemake; cp -r {dir}/bin {dir}/tests {build_dir}
export PYBUILD_AFTER_TEST=rm -fr {build_dir}/bin {build_dir}/tests
export PYBUILD_TEST_ARGS=python{version} -m pytest -o faulthandler_timeout=60 -v {build_dir}/tests/test*.py -k 'not test_cwl and not test_cwl_singularity and not test_url_include and not test_wrapper and not test_issue1083 and not test_github_issue78 and not test_container and not test_singularity and not test_singularity_conda and not test_convert_to_cwl and not test_report and not test_report_zip and not test_archive and not test_jupyter_notebook and not test_conda and not test_upstream_conda and not test_conda_custom_prefix and not test_script and not test_issue635 and not test_issue1093 and not test_default_resources and not test_default_remote and not test_remote and not test_output_file_cache_remote and not test_tibanna and not test_module_complex and not test_module_complex2 and not test_module_with_script and not test_module_report and not test_modules_meta_wrapper and not test_tes and not test_deploy_script and not test_deploy_hashing and not test_peppy and not test_modules_peppy and not test_report_display_code and not test_wrapper_local_git_prefix and not test_github_issue1396 and not test_az_batch_executor and not test_modules_prefix and not test_ancient and not test_github_issue1062 and not test_symlink_time_handling and not test_env_modules and not test_github_issue1460 and not test_rule_inheritance_globals and not test_prebuilt_conda_script and not test_persistent_dict and not test_issue328 and not test_pipes_fail and not test_pipes and not test_multicomp_group_jobs and not test_group_job_resources_with_pipe'
# Skipped because they download executables (which is forbidden in Debian buildd and debci)
# Snakefile/snakemake-wrapper/CWL scripts: test_cwl, test_cwl_singularity, test_url_include, test_wrapper, test_wrapper_local_git_prefix, test_module_with_script, test_module_report, test_module_complex(2), test_modules_meta_wrapper
# Docker images: test_issue1083, test_github_issue78, test_container, test_singularity, test_singularity_conda, test_cwl_singularity, test_convert_to_cwl, test_report, test_report_zip, test_module_complex(2)
# Conda packages: test_archive, test_jupyter_notebook, test_conda, test_upstream_conda, test_conda_custom_prefix, test_wrapper, test_wrapper_local_git_prefix, test_script, test_issue635, test_issue1093, test_singularity_conda, test_report, test_report_zip, test_report_display_code, test_deploy_script, test_deploy_hashing
# Note that even if conda were added to Debian (ITP #926416), using it normally would still be downloading executables = forbidden
# Modification to run without conda was previously attempted on test_issue635 (succeeded) and test_issue1093 (failed as current bwa gives a different ordering), but is not in current use
# Skipped due to not-in-Debian dependencies
# conda (but not downloading): test_prebuilt_conda_script
# python3-moto (RFP #777089): test_default_resources, test_default_remote, test_remote, test_output_file_cache_remote
# python3-retry: test_modules_prefix test_ancient
# python3-peppy: test_peppy, test_modules_peppy
# python3-tibanna: test_tibanna (possibly also specific to one cloud provider?)
# python3-tes: test_tes
# Skipped due to network use
# skipped in build, but run in autopkgtest: test_ancient
# skipped in both as it uses FTP and some autopkgtest environments are http-only: test_github_issue1062
# Tests marked @connected skip themselves if network access isn't available
# Skipped in build to let reproducibility tests pass (it fails under faketime, with what looks like the outer script but not the rules running under it), but run in autopkgtest: test_symlink_time_handling
# possibly an actual bug: test_env_modules
# pytools too old, #1076925, only fail in build and not autopkgtest: test_persistent_dict test_issue328
# should be marked google_credentials: test_github_issue1396
# needs Azure credentials: test_az_batch_executor
# flaky (these are run in autopkgtest but get 3 tries there) test_pipes_fail, test_pipes, test_multicomp_group_jobs, test_group_job_resources_with_pipe
export PATH:=$(shell pybuild --print build_dir --interpreter python3 --name $(PYBUILD_NAME))/bin:$(PATH)
# Force the use of python3's sphinx-build.
export SPHINXBUILD=/usr/share/sphinx/scripts/python3/sphinx-build
%:
dh $@ --with python3,sphinxdoc --buildsystem=pybuild
# LC_ALL is for reproducibility
execute_after_dh_auto_build:
PYTHONPATH=$(shell pybuild --print build_dir --interpreter python3) \
cd docs && LC_ALL=C.UTF-8 LANGUAGE=C.UTF-8 make html
execute_after_dh_installdocs:
find debian -name '__pycache__' -o name '.gitignore' | xargs rm -rf
# the modules.sh is a workaround for #928826; putting it in PYBUILD_BEFORE_TEST doesn't work
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
. /etc/profile.d/modules.sh && PYBUILD_SYSTEM=custom dh_auto_test
endif
override_dh_auto_clean:
dh_auto_clean
find . -name '__pycache__' | xargs -r rm -r
rm -rf .snakemake snakemake.egg-info
|