File: rules

package info (click to toggle)
snakemake 7.32.4-8.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 25,836 kB
  • sloc: python: 32,846; javascript: 1,287; makefile: 247; sh: 163; ansic: 57; lisp: 9
file content (66 lines) | stat: -rwxr-xr-x 5,416 bytes parent folder | download
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