#!/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_python3=debian/snakemake # copy the tests and run them from there to avoid having to clean up after them export PYBUILD_BEFORE_TEST_python3=chmod +x {dir}/bin/snakemake; cp -r {dir}/bin {dir}/tests {build_dir} export PYBUILD_AFTER_TEST_python3=rm -fr {build_dir}/bin {build_dir}/tests export PYBUILD_TEST_ARGS=python{version} -m pytest -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_template_engine and not test_github_issue1396 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' # 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 # 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 # python3-yte: test_template_engine # 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 # should be marked google_credentials: test_github_issue1396 # test_pipes_fail is done outside the main run in autopkgtest because it sometimes hangs 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) \ LC_ALL=C.UTF-8 LANGUAGE=C.UTF-8 python3 setup.py build_sphinx 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_python3 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