toil 5.11.0__tar.gz → 6.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. toil-6.0.0/.github/PULL_REQUEST_TEMPLATE.md +37 -0
  2. toil-6.0.0/.github/dependabot.yml +10 -0
  3. toil-6.0.0/.github/workflows/codeql-analysis.yml +71 -0
  4. toil-6.0.0/.gitignore +25 -0
  5. toil-6.0.0/.gitlab-ci.yml +434 -0
  6. toil-6.0.0/.readthedocs.yaml +23 -0
  7. toil-6.0.0/CODE_OF_CONDUCT.md +46 -0
  8. toil-6.0.0/CONTRIBUTING.md +6 -0
  9. toil-6.0.0/Makefile +353 -0
  10. {toil-5.11.0/src/toil.egg-info → toil-6.0.0}/PKG-INFO +4 -4
  11. toil-6.0.0/ROADMAP.md +37 -0
  12. toil-6.0.0/attic/README.md +407 -0
  13. toil-6.0.0/attic/absolute_imports.py +118 -0
  14. toil-6.0.0/attic/jobTreeSlides.pdf +0 -0
  15. toil-6.0.0/attic/toil-sort-example.py +173 -0
  16. toil-6.0.0/common.mk +83 -0
  17. toil-6.0.0/contrib/admin/buildkit-deployment.yml +127 -0
  18. toil-6.0.0/contrib/admin/cleanup_aws_resources.py +329 -0
  19. toil-6.0.0/contrib/admin/mypy-with-ignore.py +109 -0
  20. toil-6.0.0/contrib/admin/remove_trailing_whitespace.py +74 -0
  21. toil-6.0.0/contrib/admin/test-pr +26 -0
  22. toil-6.0.0/contrib/admin/wheel-of-issues +43 -0
  23. toil-6.0.0/contrib/assets/toil-slug-logo-wordmark-2022.svg +283 -0
  24. toil-6.0.0/contrib/hooks/lib.py +177 -0
  25. toil-6.0.0/contrib/hooks/mypy-after-commit.py +35 -0
  26. toil-6.0.0/contrib/hooks/mypy-before-push.py +87 -0
  27. toil-6.0.0/contrib/mypy-stubs/configargparse/__init__.pyi +5 -0
  28. toil-6.0.0/contrib/mypy-stubs/configargparse/configargparse.pyi +35 -0
  29. toil-6.0.0/contrib/mypy-stubs/dill/__init__.pyi +4 -0
  30. toil-6.0.0/contrib/mypy-stubs/dill/_dill.pyi +78 -0
  31. toil-6.0.0/contrib/mypy-stubs/pubsub/__init__.pyi +4 -0
  32. toil-6.0.0/contrib/mypy-stubs/pubsub/core/__init__.pyi +23 -0
  33. toil-6.0.0/contrib/mypy-stubs/pubsub/core/annotations.pyi +3 -0
  34. toil-6.0.0/contrib/mypy-stubs/pubsub/core/callables.pyi +34 -0
  35. toil-6.0.0/contrib/mypy-stubs/pubsub/core/listener.pyi +50 -0
  36. toil-6.0.0/contrib/mypy-stubs/pubsub/core/notificationmgr.pyi +45 -0
  37. toil-6.0.0/contrib/mypy-stubs/pubsub/core/publisher.pyi +32 -0
  38. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicargspec.pyi +73 -0
  39. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicdefnprovider.pyi +97 -0
  40. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicexc.pyi +26 -0
  41. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicmgr.pyi +53 -0
  42. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicobj.pyi +75 -0
  43. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topictreetraverser.pyi +19 -0
  44. toil-6.0.0/contrib/mypy-stubs/pubsub/core/topicutils.pyi +15 -0
  45. toil-6.0.0/contrib/mypy-stubs/pubsub/core/weakmethod.pyi +9 -0
  46. toil-6.0.0/contrib/mypy-stubs/pubsub/pub.pyi +43 -0
  47. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/__init__.pyi +7 -0
  48. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/exchandling.pyi +20 -0
  49. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/misc.pyi +5 -0
  50. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/notification.pyi +63 -0
  51. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/topictreeprinter.pyi +24 -0
  52. toil-6.0.0/contrib/mypy-stubs/pubsub/utils/xmltopicdefnprovider.pyi +27 -0
  53. toil-6.0.0/contrib/mypy-stubs/tes/client.pyi +41 -0
  54. toil-6.0.0/contrib/mypy-stubs/tes/models.pyi +191 -0
  55. toil-6.0.0/contrib/pod-murder-bot/murder.yaml +34 -0
  56. toil-6.0.0/contrib/pod-murder-bot/podKiller.sh +26 -0
  57. toil-6.0.0/contrib/slurm-test/check_out.sh +17 -0
  58. toil-6.0.0/contrib/slurm-test/docker-compose.yml +71 -0
  59. toil-6.0.0/contrib/slurm-test/expected_out_basic.txt +1 -0
  60. toil-6.0.0/contrib/slurm-test/expected_out_sort.txt +1000 -0
  61. toil-6.0.0/contrib/slurm-test/fileToSort.txt +1000 -0
  62. toil-6.0.0/contrib/slurm-test/slurm.conf +151 -0
  63. toil-6.0.0/contrib/slurm-test/slurm_test.sh +27 -0
  64. {toil-5.11.0/src/toil/test/sort → toil-6.0.0/contrib/slurm-test}/sort.py +2 -1
  65. toil-6.0.0/contrib/slurm-test/toil_workflow.py +16 -0
  66. toil-6.0.0/contrib/toil-ci-prebake/Dockerfile +47 -0
  67. toil-6.0.0/contrib/toil-cwl-runner/README.rst +2 -0
  68. toil-6.0.0/contrib/toil-cwl-runner/pyproject.toml +6 -0
  69. toil-6.0.0/contrib/toil-cwl-runner/setup.cfg +17 -0
  70. toil-6.0.0/dashboard/grafana/Dockerfile +8 -0
  71. toil-6.0.0/dashboard/grafana/toil_dashboard.json +592 -0
  72. toil-6.0.0/dashboard/mtail/Dockerfile +7 -0
  73. toil-6.0.0/dashboard/mtail/toil.mtail +41 -0
  74. toil-6.0.0/dashboard/prometheus/Dockerfile +8 -0
  75. toil-6.0.0/dashboard/prometheus/prometheus.yml +46 -0
  76. toil-6.0.0/dashboard/prometheus/run.sh +9 -0
  77. toil-6.0.0/docker/Dockerfile.py +216 -0
  78. toil-6.0.0/docker/customDockerInit.sh +16 -0
  79. toil-6.0.0/docker/extra-debs.tsv +5 -0
  80. toil-6.0.0/docker/singularity-wrapper.sh +96 -0
  81. toil-6.0.0/docker/waitForKey.sh +2 -0
  82. toil-6.0.0/docs/Makefile +20 -0
  83. toil-6.0.0/docs/_static/favicon.ico +0 -0
  84. toil-6.0.0/docs/_static/logo.png +0 -0
  85. toil-6.0.0/docs/_static/shortcut.png +0 -0
  86. toil-6.0.0/docs/appendices/architecture.rst +248 -0
  87. toil-6.0.0/docs/appendices/aws_min_permissions.rst +27 -0
  88. toil-6.0.0/docs/appendices/caching_benefits.png +0 -0
  89. toil-6.0.0/docs/appendices/deploy.rst +201 -0
  90. toil-6.0.0/docs/appendices/environment_vars.rst +246 -0
  91. toil-6.0.0/docs/appendices/toil_architecture.jpg +0 -0
  92. toil-6.0.0/docs/conf.py +214 -0
  93. toil-6.0.0/docs/contributing/checklists.rst +52 -0
  94. toil-6.0.0/docs/contributing/contributing.rst +607 -0
  95. toil-6.0.0/docs/cwl/introduction.rst +10 -0
  96. toil-6.0.0/docs/cwl/running.rst +245 -0
  97. toil-6.0.0/docs/gettingStarted/googleScreenShot.png +0 -0
  98. toil-6.0.0/docs/gettingStarted/googleScreenShot2.png +0 -0
  99. toil-6.0.0/docs/gettingStarted/install.rst +217 -0
  100. toil-6.0.0/docs/gettingStarted/quickStart.rst +638 -0
  101. toil-6.0.0/docs/index.rst +91 -0
  102. toil-6.0.0/docs/python/developing.rst +655 -0
  103. toil-6.0.0/docs/python/toilAPI.rst +10 -0
  104. toil-6.0.0/docs/python/toilAPIBatchsystem.rst +48 -0
  105. toil-6.0.0/docs/python/toilAPIExceptions.rst +35 -0
  106. toil-6.0.0/docs/python/toilAPIFilestore.rst +14 -0
  107. toil-6.0.0/docs/python/toilAPIJobFunctions.rst +42 -0
  108. toil-6.0.0/docs/python/toilAPIJobstore.rst +12 -0
  109. toil-6.0.0/docs/python/toilAPIMethods.rst +20 -0
  110. toil-6.0.0/docs/python/toilAPIRunner.rst +10 -0
  111. toil-6.0.0/docs/python/toilAPIService.rst +10 -0
  112. toil-6.0.0/docs/running/cliOptions.rst +613 -0
  113. toil-6.0.0/docs/running/cloud/amazon.rst +554 -0
  114. toil-6.0.0/docs/running/cloud/amazonaddkeypair.png +0 -0
  115. toil-6.0.0/docs/running/cloud/cloud.rst +65 -0
  116. toil-6.0.0/docs/running/cloud/clusterUtils.rst +321 -0
  117. toil-6.0.0/docs/running/cloud/dashboard_screenshot.png +0 -0
  118. toil-6.0.0/docs/running/cloud/gce.rst +109 -0
  119. toil-6.0.0/docs/running/cloud/googleScreenShot.png +0 -0
  120. toil-6.0.0/docs/running/cloud/googleScreenShot2.png +0 -0
  121. toil-6.0.0/docs/running/cloud/kubernetes.rst +407 -0
  122. toil-6.0.0/docs/running/debugging.rst +41 -0
  123. toil-6.0.0/docs/running/hpcEnvironments.rst +70 -0
  124. toil-6.0.0/docs/running/introduction.rst +73 -0
  125. toil-6.0.0/docs/running/server/docker-compose.yml +47 -0
  126. toil-6.0.0/docs/running/server/wes.rst +403 -0
  127. toil-6.0.0/docs/vendor/sphinxcontrib/__init__.py +10 -0
  128. toil-6.0.0/docs/vendor/sphinxcontrib/fulltoc.py +93 -0
  129. toil-6.0.0/docs/wdl/conformance.rst +53 -0
  130. toil-6.0.0/docs/wdl/developing.rst +63 -0
  131. toil-6.0.0/docs/wdl/introduction.rst +18 -0
  132. toil-6.0.0/docs/wdl/running.rst +73 -0
  133. toil-6.0.0/requirements-aws.txt +4 -0
  134. toil-6.0.0/requirements-cwl.txt +8 -0
  135. toil-6.0.0/requirements-dev.txt +29 -0
  136. {toil-5.11.0 → toil-6.0.0}/requirements-google.txt +1 -0
  137. toil-6.0.0/requirements-mesos.txt +1 -0
  138. {toil-5.11.0 → toil-6.0.0}/requirements-server.txt +3 -3
  139. toil-6.0.0/requirements-wdl.txt +3 -0
  140. {toil-5.11.0 → toil-6.0.0}/requirements.txt +7 -4
  141. {toil-5.11.0 → toil-6.0.0}/setup.cfg +3 -7
  142. {toil-5.11.0 → toil-6.0.0}/setup.py +12 -7
  143. toil-6.0.0/setup_gitlab_docker.py +38 -0
  144. toil-6.0.0/setup_gitlab_ssh.py +38 -0
  145. {toil-5.11.0 → toil-6.0.0}/src/toil/__init__.py +18 -13
  146. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/abstractBatchSystem.py +21 -10
  147. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/abstractGridEngineBatchSystem.py +2 -2
  148. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/awsBatch.py +14 -14
  149. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/contained_executor.py +3 -3
  150. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/htcondor.py +0 -1
  151. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/kubernetes.py +34 -31
  152. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/local_support.py +3 -1
  153. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/mesos/batchSystem.py +7 -7
  154. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/options.py +32 -83
  155. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/registry.py +104 -23
  156. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/singleMachine.py +17 -14
  157. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/slurm.py +3 -3
  158. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/torque.py +0 -1
  159. {toil-5.11.0 → toil-6.0.0}/src/toil/bus.py +6 -8
  160. toil-6.0.0/src/toil/common.py +1674 -0
  161. toil-6.0.0/src/toil/cwl/__init__.py +54 -0
  162. {toil-5.11.0 → toil-6.0.0}/src/toil/cwl/cwltoil.py +538 -530
  163. {toil-5.11.0 → toil-6.0.0}/src/toil/cwl/utils.py +55 -10
  164. {toil-5.11.0 → toil-6.0.0}/src/toil/fileStores/__init__.py +2 -2
  165. {toil-5.11.0 → toil-6.0.0}/src/toil/fileStores/abstractFileStore.py +44 -12
  166. {toil-5.11.0 → toil-6.0.0}/src/toil/fileStores/cachingFileStore.py +607 -530
  167. {toil-5.11.0 → toil-6.0.0}/src/toil/fileStores/nonCachingFileStore.py +43 -10
  168. {toil-5.11.0 → toil-6.0.0}/src/toil/job.py +140 -75
  169. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/abstractJobStore.py +152 -67
  170. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/aws/jobStore.py +23 -9
  171. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/aws/utils.py +1 -2
  172. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/fileJobStore.py +117 -19
  173. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/googleJobStore.py +61 -21
  174. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/utils.py +5 -6
  175. {toil-5.11.0 → toil-6.0.0}/src/toil/leader.py +71 -43
  176. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/accelerators.py +44 -7
  177. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/aws/__init__.py +3 -14
  178. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/aws/ami.py +22 -9
  179. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/aws/iam.py +70 -21
  180. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/aws/session.py +2 -16
  181. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/aws/utils.py +4 -5
  182. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/compatibility.py +1 -1
  183. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/conversions.py +7 -3
  184. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/docker.py +52 -21
  185. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/ec2.py +10 -6
  186. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/ec2nodes.py +106 -100
  187. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/encryption/_nacl.py +2 -1
  188. toil-6.0.0/src/toil/lib/generatedEC2Lists.py +815 -0
  189. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/io.py +21 -0
  190. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/misc.py +1 -1
  191. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/resources.py +1 -1
  192. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/threading.py +74 -26
  193. toil-6.0.0/src/toil/options/common.py +738 -0
  194. toil-6.0.0/src/toil/options/cwl.py +336 -0
  195. toil-6.0.0/src/toil/options/wdl.py +32 -0
  196. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/abstractProvisioner.py +1 -4
  197. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/aws/__init__.py +3 -6
  198. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/aws/awsProvisioner.py +6 -0
  199. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/clusterScaler.py +3 -2
  200. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/gceProvisioner.py +2 -2
  201. {toil-5.11.0 → toil-6.0.0}/src/toil/realtimeLogger.py +2 -1
  202. {toil-5.11.0 → toil-6.0.0}/src/toil/resource.py +24 -18
  203. toil-6.0.0/src/toil/server/api_spec/LICENSE +201 -0
  204. toil-6.0.0/src/toil/server/api_spec/README.rst +5 -0
  205. {toil-5.11.0 → toil-6.0.0}/src/toil/server/app.py +2 -3
  206. {toil-5.11.0 → toil-6.0.0}/src/toil/server/cli/wes_cwl_runner.py +4 -4
  207. {toil-5.11.0 → toil-6.0.0}/src/toil/server/utils.py +1 -1
  208. {toil-5.11.0 → toil-6.0.0}/src/toil/server/wes/abstract_backend.py +3 -2
  209. {toil-5.11.0 → toil-6.0.0}/src/toil/server/wes/amazon_wes_utils.py +5 -4
  210. {toil-5.11.0 → toil-6.0.0}/src/toil/server/wes/tasks.py +2 -3
  211. {toil-5.11.0 → toil-6.0.0}/src/toil/server/wes/toil_backend.py +2 -10
  212. {toil-5.11.0 → toil-6.0.0}/src/toil/server/wsgi_app.py +3 -1
  213. {toil-5.11.0 → toil-6.0.0}/src/toil/serviceManager.py +12 -10
  214. {toil-5.11.0 → toil-6.0.0}/src/toil/statsAndLogging.py +5 -1
  215. {toil-5.11.0 → toil-6.0.0}/src/toil/test/__init__.py +53 -56
  216. {toil-5.11.0 → toil-6.0.0}/src/toil/test/batchSystems/batchSystemTest.py +11 -111
  217. {toil-5.11.0 → toil-6.0.0}/src/toil/test/batchSystems/test_slurm.py +3 -2
  218. toil-6.0.0/src/toil/test/cactus/pestis.tar.gz +0 -0
  219. toil-6.0.0/src/toil/test/cactus/test_cactus_integration.py +58 -0
  220. toil-6.0.0/src/toil/test/cwl/2.fasta +11 -0
  221. toil-6.0.0/src/toil/test/cwl/2.fastq +12 -0
  222. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/cwlTest.py +214 -91
  223. toil-6.0.0/src/toil/test/cwl/directory/directory/file.txt +15 -0
  224. toil-6.0.0/src/toil/test/cwl/download_directory_file.json +4 -0
  225. toil-6.0.0/src/toil/test/cwl/download_directory_s3.json +4 -0
  226. toil-6.0.0/src/toil/test/cwl/download_file.json +6 -0
  227. toil-6.0.0/src/toil/test/cwl/download_http.json +6 -0
  228. toil-6.0.0/src/toil/test/cwl/download_https.json +6 -0
  229. toil-6.0.0/src/toil/test/cwl/download_s3.json +6 -0
  230. toil-6.0.0/src/toil/test/cwl/download_subdirectory_file.json +5 -0
  231. toil-6.0.0/src/toil/test/cwl/download_subdirectory_s3.json +5 -0
  232. toil-6.0.0/src/toil/test/cwl/empty.json +1 -0
  233. toil-6.0.0/src/toil/test/cwl/glob_dir.cwl +15 -0
  234. toil-6.0.0/src/toil/test/cwl/mock_mpi/fake_mpi.yml +8 -0
  235. toil-6.0.0/src/toil/test/cwl/mock_mpi/fake_mpi_run.py +37 -0
  236. toil-6.0.0/src/toil/test/cwl/preemptible.cwl +21 -0
  237. toil-6.0.0/src/toil/test/cwl/preemptible_expression.cwl +28 -0
  238. toil-6.0.0/src/toil/test/cwl/preemptible_expression.json +1 -0
  239. toil-6.0.0/src/toil/test/cwl/revsort-job.json +6 -0
  240. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/revsort.cwl +1 -1
  241. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/revsort2.cwl +1 -1
  242. toil-6.0.0/src/toil/test/cwl/s3_secondary_file.json +16 -0
  243. toil-6.0.0/src/toil/test/cwl/seqtk_seq_job.json +6 -0
  244. toil-6.0.0/src/toil/test/cwl/stream.json +6 -0
  245. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f2_TSM0 +0 -0
  246. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f3 +0 -0
  247. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f3_TSM0 +0 -0
  248. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f4 +0 -0
  249. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f4_TSM0 +0 -0
  250. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f5 +0 -0
  251. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.info +0 -0
  252. toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.lock +0 -0
  253. toil-6.0.0/src/toil/test/cwl/whale.txt +16 -0
  254. toil-6.0.0/src/toil/test/docs/__init__.py +0 -0
  255. toil-6.0.0/src/toil/test/docs/scripts/cwlExampleFiles/hello.cwl +14 -0
  256. toil-6.0.0/src/toil/test/docs/scripts/cwlExampleFiles/hello1.yml +1 -0
  257. toil-6.0.0/src/toil/test/docs/scripts/cwlExampleFiles/hello2.yml +1 -0
  258. toil-6.0.0/src/toil/test/docs/scripts/cwlExampleFiles/hello3.yml +1 -0
  259. toil-6.0.0/src/toil/test/docs/scripts/example_alwaysfail.py +38 -0
  260. toil-6.0.0/src/toil/test/docs/scripts/example_cachingbenchmark.py +108 -0
  261. toil-6.0.0/src/toil/test/docs/scripts/stagingExampleFiles/in.txt +1 -0
  262. toil-6.0.0/src/toil/test/docs/scripts/stagingExampleFiles/out.txt +2 -0
  263. toil-6.0.0/src/toil/test/docs/scripts/tutorial_arguments.py +23 -0
  264. toil-6.0.0/src/toil/test/docs/scripts/tutorial_cwlexample.py +56 -0
  265. toil-6.0.0/src/toil/test/docs/scripts/tutorial_discoverfiles.py +39 -0
  266. toil-6.0.0/src/toil/test/docs/scripts/tutorial_docker.py +21 -0
  267. toil-6.0.0/src/toil/test/docs/scripts/tutorial_dynamic.py +24 -0
  268. toil-6.0.0/src/toil/test/docs/scripts/tutorial_encapsulation.py +28 -0
  269. toil-6.0.0/src/toil/test/docs/scripts/tutorial_encapsulation2.py +29 -0
  270. toil-6.0.0/src/toil/test/docs/scripts/tutorial_helloworld.py +15 -0
  271. toil-6.0.0/src/toil/test/docs/scripts/tutorial_invokeworkflow.py +27 -0
  272. toil-6.0.0/src/toil/test/docs/scripts/tutorial_invokeworkflow2.py +30 -0
  273. toil-6.0.0/src/toil/test/docs/scripts/tutorial_jobfunctions.py +22 -0
  274. toil-6.0.0/src/toil/test/docs/scripts/tutorial_managing.py +29 -0
  275. toil-6.0.0/src/toil/test/docs/scripts/tutorial_managing2.py +54 -0
  276. toil-6.0.0/src/toil/test/docs/scripts/tutorial_multiplejobs.py +25 -0
  277. toil-6.0.0/src/toil/test/docs/scripts/tutorial_multiplejobs2.py +21 -0
  278. toil-6.0.0/src/toil/test/docs/scripts/tutorial_multiplejobs3.py +22 -0
  279. toil-6.0.0/src/toil/test/docs/scripts/tutorial_promises.py +25 -0
  280. toil-6.0.0/src/toil/test/docs/scripts/tutorial_promises2.py +28 -0
  281. toil-6.0.0/src/toil/test/docs/scripts/tutorial_quickstart.py +22 -0
  282. toil-6.0.0/src/toil/test/docs/scripts/tutorial_requirements.py +36 -0
  283. toil-6.0.0/src/toil/test/docs/scripts/tutorial_services.py +45 -0
  284. toil-6.0.0/src/toil/test/docs/scripts/tutorial_staging.py +35 -0
  285. {toil-5.11.0 → toil-6.0.0}/src/toil/test/docs/scriptsTest.py +0 -1
  286. {toil-5.11.0 → toil-6.0.0}/src/toil/test/jobStores/jobStoreTest.py +35 -24
  287. toil-6.0.0/src/toil/test/lib/__init__.py +0 -0
  288. toil-6.0.0/src/toil/test/lib/aws/__init__.py +0 -0
  289. toil-6.0.0/src/toil/test/lib/aws/test_iam.py +129 -0
  290. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/aws/test_utils.py +0 -3
  291. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/dockerTest.py +4 -4
  292. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/test_ec2.py +11 -16
  293. {toil-5.11.0 → toil-6.0.0}/src/toil/test/mesos/helloWorld.py +4 -5
  294. {toil-5.11.0 → toil-6.0.0}/src/toil/test/mesos/stress.py +1 -1
  295. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/aws/awsProvisionerTest.py +9 -5
  296. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/clusterScalerTest.py +6 -4
  297. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/clusterTest.py +14 -3
  298. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/gceProvisionerTest.py +11 -12
  299. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/restartScript.py +3 -2
  300. {toil-5.11.0 → toil-6.0.0}/src/toil/test/server/serverTest.py +1 -1
  301. {toil-5.11.0 → toil-6.0.0}/src/toil/test/sort/restart_sort.py +2 -1
  302. toil-6.0.0/src/toil/test/sort/sort.py +260 -0
  303. {toil-5.11.0 → toil-6.0.0}/src/toil/test/sort/sortTest.py +8 -16
  304. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/autoDeploymentTest.py +45 -45
  305. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/busTest.py +5 -5
  306. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/checkpointTest.py +2 -2
  307. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/fileStoreTest.py +36 -18
  308. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/helloWorldTest.py +1 -1
  309. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/jobDescriptionTest.py +2 -1
  310. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/jobTest.py +18 -18
  311. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/miscTests.py +5 -3
  312. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/promisedRequirementTest.py +3 -3
  313. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/realtimeLoggerTest.py +1 -1
  314. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/resourceTest.py +2 -2
  315. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/resumabilityTest.py +36 -2
  316. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/systemTest.py +2 -2
  317. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/toilContextManagerTest.py +2 -2
  318. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/userDefinedJobArgTypeTest.py +1 -1
  319. toil-6.0.0/src/toil/test/utils/ABCWorkflowDebug/B_file.txt +1 -0
  320. toil-6.0.0/src/toil/test/utils/ABCWorkflowDebug/debugWorkflow.py +181 -0
  321. toil-6.0.0/src/toil/test/utils/ABCWorkflowDebug/mkFile.py +15 -0
  322. toil-6.0.0/src/toil/test/utils/ABCWorkflowDebug/sleep.cwl +12 -0
  323. toil-6.0.0/src/toil/test/utils/ABCWorkflowDebug/sleep.yaml +1 -0
  324. toil-6.0.0/src/toil/test/utils/toilDebugTest.py +201 -0
  325. {toil-5.11.0 → toil-6.0.0}/src/toil/test/utils/toilKillTest.py +2 -2
  326. {toil-5.11.0 → toil-6.0.0}/src/toil/test/utils/utilsTest.py +20 -0
  327. toil-6.0.0/src/toil/test/wdl/__init__.py +0 -0
  328. toil-6.0.0/src/toil/test/wdl/md5sum/empty_file.json +1 -0
  329. toil-6.0.0/src/toil/test/wdl/md5sum/md5sum-gs.json +1 -0
  330. toil-6.0.0/src/toil/test/wdl/md5sum/md5sum.1.0.wdl +31 -0
  331. toil-6.0.0/src/toil/test/wdl/md5sum/md5sum.input +1 -0
  332. toil-6.0.0/src/toil/test/wdl/md5sum/md5sum.json +1 -0
  333. toil-6.0.0/src/toil/test/wdl/md5sum/md5sum.wdl +25 -0
  334. toil-6.0.0/src/toil/test/wdl/miniwdl_self_test/inputs-namespaced.json +1 -0
  335. toil-6.0.0/src/toil/test/wdl/miniwdl_self_test/inputs.json +1 -0
  336. toil-6.0.0/src/toil/test/wdl/miniwdl_self_test/self_test.wdl +40 -0
  337. toil-6.0.0/src/toil/test/wdl/standard_library/as_map.json +16 -0
  338. toil-6.0.0/src/toil/test/wdl/standard_library/as_map_as_input.wdl +23 -0
  339. toil-6.0.0/src/toil/test/wdl/standard_library/as_pairs.json +7 -0
  340. toil-6.0.0/src/toil/test/wdl/standard_library/as_pairs_as_input.wdl +23 -0
  341. toil-6.0.0/src/toil/test/wdl/standard_library/ceil.json +3 -0
  342. toil-6.0.0/src/toil/test/wdl/standard_library/ceil_as_command.wdl +16 -0
  343. toil-6.0.0/src/toil/test/wdl/standard_library/ceil_as_input.wdl +16 -0
  344. toil-6.0.0/src/toil/test/wdl/standard_library/collect_by_key.json +1 -0
  345. toil-6.0.0/src/toil/test/wdl/standard_library/collect_by_key_as_input.wdl +23 -0
  346. toil-6.0.0/src/toil/test/wdl/standard_library/cross.json +11 -0
  347. toil-6.0.0/src/toil/test/wdl/standard_library/cross_as_input.wdl +19 -0
  348. toil-6.0.0/src/toil/test/wdl/standard_library/flatten.json +7 -0
  349. toil-6.0.0/src/toil/test/wdl/standard_library/flatten_as_input.wdl +18 -0
  350. toil-6.0.0/src/toil/test/wdl/standard_library/floor.json +3 -0
  351. toil-6.0.0/src/toil/test/wdl/standard_library/floor_as_command.wdl +16 -0
  352. toil-6.0.0/src/toil/test/wdl/standard_library/floor_as_input.wdl +16 -0
  353. toil-6.0.0/src/toil/test/wdl/standard_library/keys.json +8 -0
  354. toil-6.0.0/src/toil/test/wdl/standard_library/keys_as_input.wdl +24 -0
  355. toil-6.0.0/src/toil/test/wdl/standard_library/length.json +7 -0
  356. toil-6.0.0/src/toil/test/wdl/standard_library/length_as_input.wdl +16 -0
  357. toil-6.0.0/src/toil/test/wdl/standard_library/length_as_input_with_map.json +7 -0
  358. toil-6.0.0/src/toil/test/wdl/standard_library/length_as_input_with_map.wdl +17 -0
  359. toil-6.0.0/src/toil/test/wdl/standard_library/length_invalid.json +3 -0
  360. toil-6.0.0/src/toil/test/wdl/standard_library/range.json +3 -0
  361. toil-6.0.0/src/toil/test/wdl/standard_library/range_0.json +3 -0
  362. toil-6.0.0/src/toil/test/wdl/standard_library/range_as_input.wdl +17 -0
  363. toil-6.0.0/src/toil/test/wdl/standard_library/range_invalid.json +3 -0
  364. toil-6.0.0/src/toil/test/wdl/standard_library/read_boolean.json +3 -0
  365. toil-6.0.0/src/toil/test/wdl/standard_library/read_boolean_as_command.wdl +17 -0
  366. toil-6.0.0/src/toil/test/wdl/standard_library/read_float.json +3 -0
  367. toil-6.0.0/src/toil/test/wdl/standard_library/read_float_as_command.wdl +17 -0
  368. toil-6.0.0/src/toil/test/wdl/standard_library/read_int.json +3 -0
  369. toil-6.0.0/src/toil/test/wdl/standard_library/read_int_as_command.wdl +17 -0
  370. toil-6.0.0/src/toil/test/wdl/standard_library/read_json.json +3 -0
  371. toil-6.0.0/src/toil/test/wdl/standard_library/read_json_as_output.wdl +31 -0
  372. toil-6.0.0/src/toil/test/wdl/standard_library/read_lines.json +3 -0
  373. toil-6.0.0/src/toil/test/wdl/standard_library/read_lines_as_output.wdl +31 -0
  374. toil-6.0.0/src/toil/test/wdl/standard_library/read_map.json +3 -0
  375. toil-6.0.0/src/toil/test/wdl/standard_library/read_map_as_output.wdl +31 -0
  376. toil-6.0.0/src/toil/test/wdl/standard_library/read_string.json +3 -0
  377. toil-6.0.0/src/toil/test/wdl/standard_library/read_string_as_command.wdl +17 -0
  378. toil-6.0.0/src/toil/test/wdl/standard_library/read_tsv.json +3 -0
  379. toil-6.0.0/src/toil/test/wdl/standard_library/read_tsv_as_output.wdl +31 -0
  380. toil-6.0.0/src/toil/test/wdl/standard_library/round.json +3 -0
  381. toil-6.0.0/src/toil/test/wdl/standard_library/round_as_command.wdl +16 -0
  382. toil-6.0.0/src/toil/test/wdl/standard_library/round_as_input.wdl +16 -0
  383. toil-6.0.0/src/toil/test/wdl/standard_library/size.json +3 -0
  384. toil-6.0.0/src/toil/test/wdl/standard_library/size_as_command.wdl +17 -0
  385. toil-6.0.0/src/toil/test/wdl/standard_library/size_as_output.wdl +36 -0
  386. toil-6.0.0/src/toil/test/wdl/standard_library/stderr.json +3 -0
  387. toil-6.0.0/src/toil/test/wdl/standard_library/stderr_as_output.wdl +30 -0
  388. toil-6.0.0/src/toil/test/wdl/standard_library/stdout.json +3 -0
  389. toil-6.0.0/src/toil/test/wdl/standard_library/stdout_as_output.wdl +30 -0
  390. toil-6.0.0/src/toil/test/wdl/standard_library/sub.json +3 -0
  391. toil-6.0.0/src/toil/test/wdl/standard_library/sub_as_input.wdl +17 -0
  392. toil-6.0.0/src/toil/test/wdl/standard_library/sub_as_input_with_file.wdl +17 -0
  393. toil-6.0.0/src/toil/test/wdl/standard_library/transpose.json +6 -0
  394. toil-6.0.0/src/toil/test/wdl/standard_library/transpose_as_input.wdl +18 -0
  395. toil-6.0.0/src/toil/test/wdl/standard_library/write_json.json +6 -0
  396. toil-6.0.0/src/toil/test/wdl/standard_library/write_json_as_command.wdl +17 -0
  397. toil-6.0.0/src/toil/test/wdl/standard_library/write_lines.json +7 -0
  398. toil-6.0.0/src/toil/test/wdl/standard_library/write_lines_as_command.wdl +17 -0
  399. toil-6.0.0/src/toil/test/wdl/standard_library/write_map.json +6 -0
  400. toil-6.0.0/src/toil/test/wdl/standard_library/write_map_as_command.wdl +17 -0
  401. toil-6.0.0/src/toil/test/wdl/standard_library/write_tsv.json +6 -0
  402. toil-6.0.0/src/toil/test/wdl/standard_library/write_tsv_as_command.wdl +17 -0
  403. toil-6.0.0/src/toil/test/wdl/standard_library/zip.json +12 -0
  404. toil-6.0.0/src/toil/test/wdl/standard_library/zip_as_input.wdl +19 -0
  405. toil-6.0.0/src/toil/test/wdl/test.csv +3 -0
  406. toil-6.0.0/src/toil/test/wdl/test.tsv +3 -0
  407. toil-6.0.0/src/toil/test/wdl/testfiles/test.json +4 -0
  408. toil-6.0.0/src/toil/test/wdl/testfiles/test_boolean.txt +1 -0
  409. toil-6.0.0/src/toil/test/wdl/testfiles/test_float.txt +1 -0
  410. toil-6.0.0/src/toil/test/wdl/testfiles/test_int.txt +1 -0
  411. toil-6.0.0/src/toil/test/wdl/testfiles/test_lines.txt +5 -0
  412. toil-6.0.0/src/toil/test/wdl/testfiles/test_map.txt +2 -0
  413. toil-6.0.0/src/toil/test/wdl/testfiles/test_string.txt +1 -0
  414. toil-6.0.0/src/toil/test/wdl/testfiles/vocab.json +1 -0
  415. toil-6.0.0/src/toil/test/wdl/testfiles/vocab.wdl +66 -0
  416. toil-6.0.0/src/toil/test/wdl/wdl_specification/type_pair.json +23 -0
  417. toil-6.0.0/src/toil/test/wdl/wdl_specification/type_pair_basic.wdl +36 -0
  418. toil-6.0.0/src/toil/test/wdl/wdl_specification/type_pair_with_files.wdl +36 -0
  419. toil-6.0.0/src/toil/test/wdl/wdl_specification/v1_spec.json +1 -0
  420. toil-6.0.0/src/toil/test/wdl/wdl_specification/v1_spec_declaration.wdl +39 -0
  421. toil-6.0.0/src/toil/test/wdl/wdltoil_test.py +343 -0
  422. {toil-5.11.0 → toil-6.0.0}/src/toil/toilState.py +7 -6
  423. toil-6.0.0/src/toil/utils/__init__.py +0 -0
  424. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilClean.py +1 -1
  425. toil-6.0.0/src/toil/utils/toilConfig.py +36 -0
  426. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilDebugFile.py +60 -33
  427. toil-6.0.0/src/toil/utils/toilDebugJob.py +77 -0
  428. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilDestroyCluster.py +1 -1
  429. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilKill.py +1 -1
  430. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilLaunchCluster.py +13 -2
  431. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilMain.py +3 -2
  432. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilRsyncCluster.py +1 -1
  433. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilSshCluster.py +1 -1
  434. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilStats.py +240 -143
  435. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilStatus.py +1 -4
  436. toil-6.0.0/src/toil/version.py +14 -0
  437. toil-6.0.0/src/toil/wdl/__init__.py +0 -0
  438. toil-6.0.0/src/toil/wdl/utils.py +35 -0
  439. {toil-5.11.0 → toil-6.0.0}/src/toil/wdl/wdltoil.py +1079 -385
  440. {toil-5.11.0 → toil-6.0.0}/src/toil/worker.py +25 -31
  441. {toil-5.11.0 → toil-6.0.0/src/toil.egg-info}/PKG-INFO +4 -4
  442. toil-6.0.0/src/toil.egg-info/SOURCES.txt +554 -0
  443. {toil-5.11.0 → toil-6.0.0}/src/toil.egg-info/entry_points.txt +0 -1
  444. {toil-5.11.0 → toil-6.0.0}/src/toil.egg-info/requires.txt +44 -23
  445. toil-6.0.0/version_template.py +181 -0
  446. toil-5.11.0/requirements-aws.txt +0 -2
  447. toil-5.11.0/requirements-cwl.txt +0 -7
  448. toil-5.11.0/requirements-dev.txt +0 -28
  449. toil-5.11.0/requirements-mesos.txt +0 -1
  450. toil-5.11.0/requirements-wdl.txt +0 -2
  451. toil-5.11.0/src/toil/batchSystems/parasol.py +0 -379
  452. toil-5.11.0/src/toil/batchSystems/tes.py +0 -459
  453. toil-5.11.0/src/toil/common.py +0 -1857
  454. toil-5.11.0/src/toil/cwl/__init__.py +0 -54
  455. toil-5.11.0/src/toil/lib/generatedEC2Lists.py +0 -508
  456. toil-5.11.0/src/toil/test/batchSystems/parasolTestSupport.py +0 -117
  457. toil-5.11.0/src/toil/test/lib/aws/test_iam.py +0 -54
  458. toil-5.11.0/src/toil/test/utils/toilDebugTest.py +0 -135
  459. toil-5.11.0/src/toil/test/wdl/builtinTest.py +0 -506
  460. toil-5.11.0/src/toil/test/wdl/conftest.py +0 -23
  461. toil-5.11.0/src/toil/test/wdl/toilwdlTest.py +0 -522
  462. toil-5.11.0/src/toil/test/wdl/wdltoil_test.py +0 -159
  463. toil-5.11.0/src/toil/utils/toilDebugJob.py +0 -50
  464. toil-5.11.0/src/toil/version.py +0 -12
  465. toil-5.11.0/src/toil/wdl/toilwdl.py +0 -141
  466. toil-5.11.0/src/toil/wdl/utils.py +0 -155
  467. toil-5.11.0/src/toil/wdl/versions/dev.py +0 -107
  468. toil-5.11.0/src/toil/wdl/versions/draft2.py +0 -980
  469. toil-5.11.0/src/toil/wdl/versions/v1.py +0 -794
  470. toil-5.11.0/src/toil/wdl/wdl_analysis.py +0 -116
  471. toil-5.11.0/src/toil/wdl/wdl_functions.py +0 -997
  472. toil-5.11.0/src/toil/wdl/wdl_synthesis.py +0 -1011
  473. toil-5.11.0/src/toil/wdl/wdl_types.py +0 -243
  474. toil-5.11.0/src/toil.egg-info/SOURCES.txt +0 -260
  475. {toil-5.11.0 → toil-6.0.0}/LICENSE +0 -0
  476. {toil-5.11.0 → toil-6.0.0}/MANIFEST.in +0 -0
  477. {toil-5.11.0 → toil-6.0.0}/README.rst +0 -0
  478. {toil-5.11.0/src/toil/jobStores → toil-6.0.0/contrib/mypy-stubs/tes}/__init__.py +0 -0
  479. {toil-5.11.0 → toil-6.0.0}/requirements-encryption.txt +0 -0
  480. {toil-5.11.0 → toil-6.0.0}/requirements-htcondor.txt +0 -0
  481. {toil-5.11.0 → toil-6.0.0}/requirements-kubernetes.txt +0 -0
  482. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/__init__.py +0 -0
  483. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/cleanup_support.py +0 -0
  484. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/gridengine.py +0 -0
  485. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/lsf.py +0 -0
  486. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/lsfHelper.py +0 -0
  487. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/mesos/__init__.py +0 -0
  488. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/mesos/conftest.py +0 -0
  489. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/mesos/executor.py +0 -0
  490. {toil-5.11.0 → toil-6.0.0}/src/toil/batchSystems/mesos/test/__init__.py +0 -0
  491. {toil-5.11.0 → toil-6.0.0}/src/toil/cwl/conftest.py +0 -0
  492. {toil-5.11.0 → toil-6.0.0}/src/toil/deferred.py +0 -0
  493. {toil-5.11.0 → toil-6.0.0}/src/toil/exceptions.py +0 -0
  494. {toil-5.11.0/src/toil/jobStores/aws → toil-6.0.0/src/toil/jobStores}/__init__.py +0 -0
  495. {toil-5.11.0/src/toil/lib → toil-6.0.0/src/toil/jobStores/aws}/__init__.py +0 -0
  496. {toil-5.11.0 → toil-6.0.0}/src/toil/jobStores/conftest.py +0 -0
  497. {toil-5.11.0/src/toil/server → toil-6.0.0/src/toil/lib}/__init__.py +0 -0
  498. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/bioio.py +0 -0
  499. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/encryption/__init__.py +0 -0
  500. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/encryption/_dummy.py +0 -0
  501. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/encryption/conftest.py +0 -0
  502. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/exceptions.py +0 -0
  503. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/expando.py +0 -0
  504. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/humanize.py +0 -0
  505. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/iterables.py +0 -0
  506. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/memoize.py +0 -0
  507. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/objects.py +0 -0
  508. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/retry.py +0 -0
  509. {toil-5.11.0 → toil-6.0.0}/src/toil/lib/throttle.py +0 -0
  510. {toil-5.11.0/src/toil/server/api_spec → toil-6.0.0/src/toil/options}/__init__.py +0 -0
  511. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/__init__.py +0 -0
  512. {toil-5.11.0 → toil-6.0.0}/src/toil/provisioners/node.py +0 -0
  513. {toil-5.11.0/src/toil/server/cli → toil-6.0.0/src/toil/server}/__init__.py +0 -0
  514. {toil-5.11.0/src/toil/server/wes → toil-6.0.0/src/toil/server/api_spec}/__init__.py +0 -0
  515. {toil-5.11.0 → toil-6.0.0}/src/toil/server/api_spec/workflow_execution_service.swagger.yaml +0 -0
  516. {toil-5.11.0 → toil-6.0.0}/src/toil/server/celery_app.py +0 -0
  517. {toil-5.11.0/src/toil/test/cwl → toil-6.0.0/src/toil/server/cli}/__init__.py +0 -0
  518. {toil-5.11.0/src/toil/test/docs → toil-6.0.0/src/toil/server/wes}/__init__.py +0 -0
  519. {toil-5.11.0 → toil-6.0.0}/src/toil/test/batchSystems/__init__.py +0 -0
  520. {toil-5.11.0 → toil-6.0.0}/src/toil/test/batchSystems/test_lsf_helper.py +0 -0
  521. {toil-5.11.0/src/toil/test/lib → toil-6.0.0/src/toil/test/cwl}/__init__.py +0 -0
  522. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/alwaysfails.cwl +0 -0
  523. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/colon_test_output.cwl +0 -0
  524. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/colon_test_output_job.yaml +0 -0
  525. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/conditional_wf.cwl +0 -0
  526. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/conditional_wf.yaml +0 -0
  527. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/conftest.py +0 -0
  528. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/directory_from_directory.cwl +0 -0
  529. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/download.cwl +0 -0
  530. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/download_directory.cwl +0 -0
  531. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/download_subdirectory.cwl +0 -0
  532. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/echo-stderr.cwl +0 -0
  533. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/echo-stdout-log-dir.cwl +0 -0
  534. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/echo.cwl +0 -0
  535. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/echo_string.cwl +0 -0
  536. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/echo_string_scatter_capture_stdout.cwl +0 -0
  537. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/file_from_directory.cwl +0 -0
  538. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/load_contents.cwl +0 -0
  539. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/mpi_simple.cwl +0 -0
  540. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/nvidia_smi.cwl +0 -0
  541. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/revtool.cwl +0 -0
  542. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/revtool2.cwl +0 -0
  543. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/s3_secondary_file.cwl +0 -0
  544. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/seqtk_seq.cwl +0 -0
  545. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/sorttool.cwl +0 -0
  546. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/stream.cwl +0 -0
  547. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/test_filename_conflict_detection.cwl +0 -0
  548. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/test_filename_conflict_detection_at_root.cwl +0 -0
  549. {toil-5.11.0 → toil-6.0.0}/src/toil/test/cwl/test_filename_conflict_resolution.cwl +0 -0
  550. toil-5.11.0/src/toil/test/lib/aws/__init__.py → toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.dat +0 -0
  551. toil-5.11.0/src/toil/test/wdl/__init__.py → toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f0 +0 -0
  552. toil-5.11.0/src/toil/utils/__init__.py → toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f1 +0 -0
  553. toil-5.11.0/src/toil/wdl/__init__.py → toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f1i +0 -0
  554. toil-5.11.0/src/toil/wdl/versions/__init__.py → toil-6.0.0/src/toil/test/cwl/test_filename_conflict_resolution.ms/table.f2 +0 -0
  555. {toil-5.11.0 → toil-6.0.0}/src/toil/test/jobStores/__init__.py +0 -0
  556. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/aws/test_s3.py +0 -0
  557. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/test_conversions.py +0 -0
  558. {toil-5.11.0 → toil-6.0.0}/src/toil/test/lib/test_misc.py +0 -0
  559. {toil-5.11.0 → toil-6.0.0}/src/toil/test/mesos/MesosDataStructuresTest.py +0 -0
  560. {toil-5.11.0 → toil-6.0.0}/src/toil/test/mesos/__init__.py +0 -0
  561. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/__init__.py +0 -0
  562. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/aws/__init__.py +0 -0
  563. {toil-5.11.0 → toil-6.0.0}/src/toil/test/provisioners/provisionerTest.py +0 -0
  564. {toil-5.11.0 → toil-6.0.0}/src/toil/test/server/__init__.py +0 -0
  565. {toil-5.11.0 → toil-6.0.0}/src/toil/test/sort/__init__.py +0 -0
  566. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/__init__.py +0 -0
  567. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/deferredFunctionTest.py +1 -1
  568. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/dockerCheckTest.py +0 -0
  569. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/importExportFileTest.py +1 -1
  570. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/jobEncapsulationTest.py +0 -0
  571. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/jobFileStoreTest.py +0 -0
  572. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/jobServiceTest.py +1 -1
  573. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/promisesTest.py +0 -0
  574. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/regularLogTest.py +0 -0
  575. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/restartDAGTest.py +1 -1
  576. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/retainTempDirTest.py +1 -1
  577. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/threadingTest.py +0 -0
  578. {toil-5.11.0 → toil-6.0.0}/src/toil/test/src/workerTest.py +0 -0
  579. {toil-5.11.0 → toil-6.0.0}/src/toil/test/utils/__init__.py +0 -0
  580. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilServer.py +0 -0
  581. {toil-5.11.0 → toil-6.0.0}/src/toil/utils/toilUpdateEC2Instances.py +0 -0
  582. {toil-5.11.0 → toil-6.0.0}/src/toil.egg-info/dependency_links.txt +0 -0
  583. {toil-5.11.0 → toil-6.0.0}/src/toil.egg-info/top_level.txt +0 -0
@@ -0,0 +1,37 @@
1
+ ## Changelog Entry
2
+ To be copied to the [draft changelog](https://github.com/DataBiosphere/toil/wiki/Draft-Changelog) by merger:
3
+
4
+ * PR submitter writes their recommendation for a changelog entry here
5
+
6
+ ## Reviewer Checklist
7
+
8
+ <!-- To be kept in sync with docs/contributing/checklist.rst -->
9
+
10
+ * [ ] Make sure it is coming from `issues/XXXX-fix-the-thing` in the Toil repo, or from an external repo.
11
+ * [ ] If it is coming from an external repo, make sure to pull it in for CI with:
12
+ ```
13
+ contrib/admin/test-pr otheruser theirbranchname issues/XXXX-fix-the-thing
14
+ ```
15
+ * [ ] If there is no associated issue, [create one](https://github.com/DataBiosphere/toil/issues/new).
16
+ * [ ] Read through the code changes. Make sure that it doesn't have:
17
+ * [ ] Addition of trailing whitespace.
18
+ * [ ] New variable or member names in `camelCase` that want to be in `snake_case`.
19
+ * [ ] New functions without [type hints](https://docs.python.org/3/library/typing.html).
20
+ * [ ] New functions or classes without informative docstrings.
21
+ * [ ] Changes to semantics not reflected in the relevant docstrings.
22
+ * [ ] New or changed command line options for Toil workflows that are not reflected in `docs/running/{cliOptions,cwl,wdl}.rst`
23
+ * [ ] New features without tests.
24
+ * [ ] Comment on the lines of code where problems exist with a review comment. You can shift-click the line numbers in the diff to select multiple lines.
25
+ * [ ] Finish the review with an overall description of your opinion.
26
+
27
+ ## Merger Checklist
28
+
29
+ <!-- To be kept in sync with docs/contributing/checklist.rst -->
30
+
31
+ * [ ] Make sure the PR passes tests.
32
+ * [ ] Make sure the PR has been reviewed **since its last modification**. If not, review it.
33
+ * [ ] Merge with the Github "Squash and merge" feature.
34
+ * [ ] If there are multiple authors' commits, add [Co-authored-by](https://github.blog/2018-01-29-commit-together-with-co-authors/) to give credit to all contributing authors.
35
+ * [ ] Copy its recommended changelog entry to the [Draft Changelog](https://github.com/DataBiosphere/toil/wiki/Draft-Changelog).
36
+ * [ ] Append the issue number in parentheses to the changelog entry.
37
+
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip" # See documentation for possible values
4
+ directory: "/" # Location of package manifests
5
+ schedule:
6
+ interval: "daily"
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "weekly"
@@ -0,0 +1,71 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ master]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ master ]
20
+ schedule:
21
+ - cron: '27 21 * * 4'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'python' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37
+ # Learn more:
38
+ # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39
+
40
+ steps:
41
+ - name: Checkout repository
42
+ uses: actions/checkout@v4
43
+
44
+ # Initializes the CodeQL tools for scanning.
45
+ - name: Initialize CodeQL
46
+ uses: github/codeql-action/init@v2
47
+ with:
48
+ languages: ${{ matrix.language }}
49
+ # If you wish to specify custom queries, you can do so here or in a config file.
50
+ # By default, queries listed here will override any specified in a config file.
51
+ # Prefix the list here with "+" to use these queries and those in the config file.
52
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
53
+
54
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55
+ # If this step fails, then you should remove it and run the build manually (see below)
56
+ - name: Autobuild
57
+ uses: github/codeql-action/autobuild@v2
58
+
59
+ # ℹ️ Command-line programs to run using the OS shell.
60
+ # 📚 https://git.io/JvXDl
61
+
62
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63
+ # and modify them (or add more) to build your code if your project
64
+ # uses a compiled language
65
+
66
+ #- run: |
67
+ # make bootstrap
68
+ # make release
69
+
70
+ - name: Perform CodeQL Analysis
71
+ uses: github/codeql-action/analyze@v2
toil-6.0.0/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ *.pyc
2
+ /src/*.egg-info
3
+ /build
4
+ /dist
5
+ /docs/_build
6
+ __pycache__
7
+ .eggs/
8
+ .cache/
9
+ .pytest_cache/
10
+ .idea/
11
+ /test-report.xml
12
+ /test-report-*.xml
13
+ venv*
14
+ v3nv/
15
+ tmp/
16
+ /src/toil/test/cwl/spec*
17
+ /cwltool_deps/
18
+ /docs/generated_rst/
19
+ /docker/Dockerfile
20
+ /docker/toil-*.tar.gz
21
+ /src/toil/version.py
22
+ .coverage*
23
+ .mypy_cache
24
+ /contrib/admin/.issue_cache/
25
+ .docker_cache/
@@ -0,0 +1,434 @@
1
+ image: quay.io/ucsc_cgl/toil_ci_prebake:latest
2
+ # Note that we must run in a privileged container for our internal Docker daemon to come up.
3
+
4
+ variables:
5
+ PYTHONIOENCODING: "utf-8"
6
+ DEBIAN_FRONTEND: "noninteractive"
7
+ TOIL_OWNER_TAG: "shared"
8
+ MAIN_PYTHON_PKG: "python3.11"
9
+ # Used to tell pytest which tests to be run by specifying markers,
10
+ # Allows partitioning of tests to prevent duplicate running of tests in different jobs.
11
+ # Currently specifies special tests that are not run by quick_test_offline.
12
+ MARKER: "(tes or integrative or encryption or server_mode or fetchable_appliance or appliance or slow or docker or cwl or singularity or rsync3) and not kubernetes"
13
+ TEST_THREADS: "3"
14
+ before_script:
15
+ # Log where we are running, in case some Kubernetes hosts are busted. IPs are assigned per host.
16
+ - ip addr
17
+ # Configure Docker and Buildkit to use a mirror for Docker Hub and restart the daemon
18
+ # Set the registry as insecure because it is probably cluster-internal over plain HTTP.
19
+ - |
20
+ if [[ ! -z "${DOCKER_HUB_MIRROR}" ]] ; then
21
+ echo "{\"registry-mirrors\": [\"${DOCKER_HUB_MIRROR}\"], \"insecure-registries\": [\"${DOCKER_HUB_MIRROR##*://}\"]}" | sudo tee /etc/docker/daemon.json
22
+ export SINGULARITY_DOCKER_HUB_MIRROR="${DOCKER_HUB_MIRROR}"
23
+ echo "[registry.\"docker.io\"]" >buildkitd.toml
24
+ echo " mirrors = [\"${DOCKER_HUB_MIRROR##*://}\"]" >>buildkitd.toml
25
+ echo "[registry.\"${DOCKER_HUB_MIRROR##*://}\"]" >>buildkitd.toml
26
+ echo " http = true" >>buildkitd.toml
27
+ echo " insecure = true" >>buildkitd.toml
28
+ else
29
+ echo "" >buildkitd.toml
30
+ fi
31
+ # Restart or start the Docker daemon
32
+ - stopdocker || true
33
+ - sudo rm -f /var/run/docker.sock
34
+ - startdocker || true
35
+ - docker info
36
+ - cat /etc/hosts
37
+ - mkdir -p ~/.kube && cp "$GITLAB_SECRET_FILE_KUBE_CONFIG" ~/.kube/config
38
+ - mkdir -p ~/.aws && cp "$GITLAB_SECRET_FILE_AWS_CREDENTIALS" ~/.aws/credentials
39
+ # We need to make sure docker buildx create can't see the ~/.kube/config that we deploy. It has
40
+ # a service account bearer token for auth and triggers https://github.com/docker/buildx/issues/267
41
+ # where buildx can't use a bearer token from a kube config and falls back to anonymous instead
42
+ # of using the system's service account.
43
+ - if [[ "${CI_BUILDKIT_DRIVER}" == "kubernetes" ]] ; then KUBECONFIG=/dev/null docker buildx create --use --name=buildkit --platform=linux/amd64,linux/arm64 --node=buildkit-amd64 --driver=kubernetes --driver-opt="nodeselector=kubernetes.io/arch=amd64" ; else docker buildx create --use --name=container-builder --driver=docker-container --config ./buildkitd.toml ; fi
44
+ # Report on the builders, and make sure they exist.
45
+ - docker buildx inspect --bootstrap || (echo "Docker builder deployment can't be found! Are we on the right Gitlab runner?" && exit 1)
46
+ # This will hang if we can't talk to the builder
47
+ - (echo "y" | docker buildx prune --keep-storage 80G) || true
48
+
49
+ after_script:
50
+ # We need to clean up any files that Toil may have made via Docker that
51
+ # aren't deletable by the Gitlab user. If we don't do this, Gitlab will try
52
+ # and clean them up before running the next job on the runner, fail, and fail
53
+ # that next job.
54
+ - pwd
55
+ - sudo rm -rf tmp
56
+ - stopdocker || true
57
+
58
+ stages:
59
+ - linting_and_dependencies
60
+ - basic_tests
61
+ - main_tests
62
+ - integration
63
+
64
+ lint:
65
+ rules:
66
+ - if: $CI_PIPELINE_SOURCE != "schedule"
67
+ stage: linting_and_dependencies
68
+ script:
69
+ - pwd
70
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && make prepare && make develop extras=[all]
71
+ - python3.11 -m pip freeze
72
+ - python3.11 --version
73
+ - make mypy
74
+ - make docs
75
+ # - make diff_pydocstyle_report
76
+
77
+ cwl_dependency_is_stand_alone:
78
+ rules:
79
+ - if: $CI_PIPELINE_SOURCE != "schedule"
80
+ stage: linting_and_dependencies
81
+ script:
82
+ - pwd
83
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && make prepare && make develop extras=[cwl]
84
+ - make test threads="${TEST_THREADS}" marker="${MARKER}" tests=src/toil/test/docs/scriptsTest.py::ToilDocumentationTest::testCwlexample
85
+
86
+ wdl_dependency_is_stand_alone:
87
+ rules:
88
+ - if: $CI_PIPELINE_SOURCE != "schedule"
89
+ stage: linting_and_dependencies
90
+ script:
91
+ - pwd
92
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && make prepare && make develop extras=[wdl]
93
+ - make test threads="${TEST_THREADS}" marker="${MARKER}" tests=src/toil/test/wdl/wdltoil_test.py::WDLTests::test_MD5sum
94
+
95
+ quick_test_offline:
96
+ rules:
97
+ - if: $CI_PIPELINE_SOURCE != "schedule"
98
+ stage: basic_tests
99
+ script:
100
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv
101
+ - . venv/bin/activate
102
+ - pip install -U pip wheel
103
+ - make prepare
104
+ - make develop extras=[aws,google,wdl]
105
+ - TOIL_TEST_QUICK=True make test_offline threads="${TEST_THREADS}"
106
+
107
+ py38_appliance_build:
108
+ rules:
109
+ - if: $CI_PIPELINE_SOURCE == "schedule"
110
+ - if: $CI_COMMIT_TAG
111
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
112
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
113
+ stage: basic_tests
114
+ script:
115
+ - pwd
116
+ - python3.8 -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && pip install pycparser && make develop extras=[all] packages='htcondor==10.2.0.post1'
117
+ # This reads GITLAB_SECRET_FILE_QUAY_CREDENTIALS
118
+ - python setup_gitlab_docker.py
119
+ - make push_docker
120
+
121
+ py39_appliance_build:
122
+ rules:
123
+ - if: $CI_PIPELINE_SOURCE == "schedule"
124
+ - if: $CI_COMMIT_TAG
125
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
126
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
127
+ stage: basic_tests
128
+ script:
129
+ - pwd
130
+ - python3.9 -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && pip install pycparser && make develop extras=[all] packages='htcondor==10.2.0.post1'
131
+ # This reads GITLAB_SECRET_FILE_QUAY_CREDENTIALS
132
+ - python setup_gitlab_docker.py
133
+ - make push_docker
134
+
135
+ py310_appliance_build:
136
+ rules:
137
+ - if: $CI_PIPELINE_SOURCE == "schedule"
138
+ - if: $CI_COMMIT_TAG
139
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
140
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
141
+ stage: basic_tests
142
+ script:
143
+ - pwd
144
+ - python3.10 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 && pip install -U pip wheel && make prepare && pip install pycparser && make develop extras=[all] packages='htcondor==10.2.0.post1'
145
+ # This reads GITLAB_SECRET_FILE_QUAY_CREDENTIALS
146
+ - python setup_gitlab_docker.py
147
+ - make push_docker
148
+
149
+ py311_appliance_build:
150
+ stage: basic_tests
151
+ script:
152
+ - pwd
153
+ - python3.11 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 && pip install -U pip wheel && make prepare && pip install pycparser && make develop extras=[all] packages='htcondor==10.2.3'
154
+ # This reads GITLAB_SECRET_FILE_QUAY_CREDENTIALS
155
+ - python setup_gitlab_docker.py
156
+ - make push_docker
157
+
158
+ py311_main:
159
+ rules:
160
+ - if: $CI_PIPELINE_SOURCE != "schedule"
161
+ stage: basic_tests
162
+ script:
163
+ - pwd
164
+ - python3.11 -m virtualenv venv && . venv/bin/activate && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 && pip install -U pip wheel && make prepare && make develop extras=[all] packages='htcondor==10.2.3'
165
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/src src/toil/test/utils"
166
+ - TOIL_SKIP_DOCKER=true make test threads="${TEST_THREADS}" tests=src/toil/test/lib
167
+
168
+ batch_systems:
169
+ rules:
170
+ - if: $CI_PIPELINE_SOURCE != "schedule"
171
+ stage: main_tests
172
+ script:
173
+ - pwd
174
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all] packages='htcondor==10.2.3'
175
+
176
+ slurm_test:
177
+ rules:
178
+ - if: $CI_PIPELINE_SOURCE == "schedule"
179
+ - if: $CI_COMMIT_TAG
180
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
181
+ stage: integration
182
+ script:
183
+ - pwd
184
+ - cd contrib/slurm-test/
185
+ - docker compose version
186
+ - ./slurm_test.sh
187
+
188
+ cwl_v1.2:
189
+ rules:
190
+ - if: $CI_PIPELINE_SOURCE == "schedule"
191
+ - if: $CI_COMMIT_TAG
192
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
193
+ - if: $CI_COMMIT_BRANCH
194
+ changes:
195
+ compare_to: 'refs/heads/master'
196
+ paths:
197
+ - 'src/toil/cwl/*'
198
+ - 'src/toil/test/cwl/*'
199
+ stage: integration
200
+ script:
201
+ - pwd
202
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[cwl,aws]
203
+ - python setup_gitlab_docker.py # login to increase the docker.io rate limit
204
+ # Run CWL integration tests excluded from cwl_misc
205
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k '(CWLWorkflowTest or cwl_small) and integrative'"
206
+ # Run CWL conformance tests, with file store bypassed
207
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/cwl/cwlTest.py::CWLv12Test::test_run_conformance_with_in_place_update
208
+ artifacts:
209
+ reports:
210
+ junit: "*.junit.xml"
211
+ paths:
212
+ - "*.junit.xml"
213
+ when: always
214
+ expire_in: 14 day
215
+
216
+ cwl_on_arm:
217
+ rules:
218
+ - if: $CI_PIPELINE_SOURCE == "schedule"
219
+ - if: $CI_COMMIT_TAG
220
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
221
+ - if: $CI_COMMIT_BRANCH
222
+ changes:
223
+ compare_to: 'refs/heads/master'
224
+ paths:
225
+ - 'src/toil/cwl/*'
226
+ stage: integration
227
+ script:
228
+ - pwd
229
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[cwl,aws]
230
+ - python setup_gitlab_docker.py # login to increase the docker.io rate limit
231
+ # This reads GITLAB_SECRET_FILE_SSH_KEYS
232
+ - python setup_gitlab_ssh.py
233
+ - chmod 400 /root/.ssh/id_rsa
234
+ # Run CWL conformance tests, on an ARM cluster on AWS, using the file store
235
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/cwl/cwlTest.py::CWLOnARMTest
236
+ artifacts:
237
+ reports:
238
+ junit: "*.junit.xml"
239
+ paths:
240
+ - "*.junit.xml"
241
+ when: always
242
+ expire_in: 14 day
243
+
244
+ cwl_misc:
245
+ rules:
246
+ - if: $CI_PIPELINE_SOURCE != "schedule"
247
+ - if: $CI_COMMIT_TAG
248
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
249
+ stage: main_tests
250
+ script:
251
+ - pwd
252
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[cwl,aws]
253
+ - python setup_gitlab_docker.py # login to increase the docker.io rate limit
254
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py -k '(CWLWorkflowTest or cwl_small) and not integrative'"
255
+
256
+ #cwl_v1.2_kubernetes:
257
+ # stage: main_tests
258
+ # script:
259
+ # - pwd
260
+ # - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[cwl,aws,kubernetes]
261
+ # - export TOIL_KUBERNETES_OWNER=toiltest
262
+ # - export TOIL_AWS_SECRET_NAME=shared-s3-credentials
263
+ # - export TOIL_KUBERNETES_HOST_PATH=/data/scratch
264
+ # - export TOIL_WORKDIR=/var/lib/toil
265
+ # - export SINGULARITY_CACHEDIR=/var/lib/toil/singularity-cache
266
+ # - if [[ ! -z "${KUBERNETES_DOCKER_HUB_MIRROR}" ]] ; then export SINGULARITY_DOCKER_HUB_MIRROR="${KUBERNETES_DOCKER_HUB_MIRROR}" ; fi
267
+ # - mkdir -p ${TOIL_WORKDIR}
268
+ # - make test threads="${TEST_THREADS}" tests="src/toil/test/cwl/cwlTest.py::CWLv12Test::test_kubernetes_cwl_conformance src/toil/test/cwl/cwlTest.py::CWLv12Test::test_kubernetes_cwl_conformance_with_caching"
269
+ # artifacts:
270
+ # reports:
271
+ # junit: "*.junit.xml"
272
+ # paths:
273
+ # - "*.junit.xml"
274
+ # when: always
275
+ # expire_in: 14 days
276
+
277
+ wdl:
278
+ rules:
279
+ - if: $CI_PIPELINE_SOURCE != "schedule"
280
+ stage: main_tests
281
+ script:
282
+ - pwd
283
+ - apt update && apt install -y default-jre
284
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
285
+ - make test threads="${TEST_THREADS}" marker="${MARKER}" tests=src/toil/test/wdl/wdltoil_test.py
286
+
287
+ jobstore:
288
+ rules:
289
+ - if: $CI_PIPELINE_SOURCE != "schedule"
290
+ stage: main_tests
291
+ script:
292
+ - pwd
293
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
294
+ - make test threads="${TEST_THREADS}" marker="${MARKER}" tests="src/toil/test/jobStores/jobStoreTest.py src/toil/test/sort/sortTest.py"
295
+
296
+ provisioner:
297
+ rules:
298
+ - if: $CI_PIPELINE_SOURCE != "schedule"
299
+ stage: main_tests
300
+ script:
301
+ - pwd
302
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
303
+ - make test threads="${TEST_THREADS}" marker="${MARKER}" tests="src/toil/test/lib/aws/ src/toil/test/provisioners/aws/awsProvisionerTest.py src/toil/test/provisioners/clusterScalerTest.py"
304
+
305
+ # https://ucsc-ci.com/databiosphere/toil/-/jobs/38672
306
+ # guessing decorators are masking class as function? ^ also, abstract class is run as normal test? should hide.
307
+
308
+ jobstore_integration:
309
+ rules:
310
+ - if: $CI_PIPELINE_SOURCE == "schedule"
311
+ - if: $CI_COMMIT_TAG
312
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
313
+ stage: integration
314
+ script:
315
+ - pwd
316
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
317
+ - export TOIL_TEST_INTEGRATIVE=True
318
+ - export TOIL_AWS_KEYNAME=id_rsa
319
+ - export TOIL_AWS_ZONE=us-west-2a
320
+ # This reads GITLAB_SECRET_FILE_SSH_KEYS
321
+ - python setup_gitlab_ssh.py
322
+ - chmod 400 /root/.ssh/id_rsa
323
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/jobStores/jobStoreTest.py"
324
+
325
+ server_integration:
326
+ rules:
327
+ - if: $CI_PIPELINE_SOURCE == "schedule"
328
+ - if: $CI_COMMIT_TAG
329
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
330
+ stage: integration
331
+ script:
332
+ - pwd
333
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
334
+ - export TOIL_TEST_INTEGRATIVE=True
335
+ - export TOIL_AWS_KEYNAME=id_rsa
336
+ - export TOIL_AWS_ZONE=us-west-2a
337
+ # This reads GITLAB_SECRET_FILE_SSH_KEYS
338
+ - python setup_gitlab_ssh.py
339
+ - chmod 400 /root/.ssh/id_rsa
340
+ # Test server and its integration with AWS
341
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/server"
342
+
343
+ provisioner_integration:
344
+ rules:
345
+ - if: $CI_PIPELINE_SOURCE == "schedule"
346
+ - if: $CI_COMMIT_TAG
347
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
348
+ stage: integration
349
+ script:
350
+ - pwd
351
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
352
+ - python setup_gitlab_ssh.py && chmod 400 /root/.ssh/id_rsa
353
+ - echo $'Host *\n AddressFamily inet' > /root/.ssh/config
354
+ - export LIBPROCESS_IP=127.0.0.1
355
+ - python setup_gitlab_docker.py
356
+ - export TOIL_TEST_INTEGRATIVE=True; export TOIL_AWS_KEYNAME=id_rsa; export TOIL_AWS_ZONE=us-west-2a
357
+ # This reads GITLAB_SECRET_FILE_SSH_KEYS
358
+ - python setup_gitlab_ssh.py
359
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/sort/sortTest.py src/toil/test/provisioners/clusterScalerTest.py src/toil/test/utils/utilsTest.py::UtilsTest::testAWSProvisionerUtils src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSProvisionerBenchTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSManagedAutoscaleTest"
360
+ # - make test tests=src/toil/test/provisioners/gceProvisionerTest.py # needs env vars set to run
361
+
362
+ google_jobstore:
363
+ rules:
364
+ - if: $CI_PIPELINE_SOURCE == "schedule"
365
+ - if: $CI_COMMIT_TAG
366
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
367
+ stage: integration
368
+ script:
369
+ - pwd
370
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[all]
371
+ - python setup_gitlab_ssh.py && chmod 400 /root/.ssh/id_rsa
372
+ - echo $'Host *\n AddressFamily inet' > /root/.ssh/config
373
+ - export LIBPROCESS_IP=127.0.0.1
374
+ - export TOIL_TEST_INTEGRATIVE=True
375
+ - export GOOGLE_APPLICATION_CREDENTIALS=$GOOGLE_CREDENTIALS
376
+ - export TOIL_GOOGLE_KEYNAME=id_rsa
377
+ - export TOIL_GOOGLE_PROJECTID=toil-dev
378
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/jobStores/jobStoreTest.py::GoogleJobStoreTest
379
+
380
+ mesos:
381
+ rules:
382
+ - if: $CI_PIPELINE_SOURCE == "schedule"
383
+ - if: $CI_COMMIT_TAG
384
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
385
+ - if: $CI_COMMIT_BRANCH
386
+ changes:
387
+ compare_to: 'refs/heads/master'
388
+ paths:
389
+ - 'src/toil/test/mesos/*'
390
+ - 'src/toil/batchSystems/mesos/*'
391
+ stage: integration
392
+ script:
393
+ - pwd
394
+ - python3.10 -m virtualenv venv && . venv/bin/activate && pip install -U pip wheel && make prepare && make develop extras=[mesos,aws]
395
+ - python setup_gitlab_ssh.py && chmod 400 /root/.ssh/id_rsa
396
+ - echo $'Host *\n AddressFamily inet' > /root/.ssh/config
397
+ - export LIBPROCESS_IP=127.0.0.1
398
+ - export TOIL_TEST_INTEGRATIVE=True
399
+ - export TOIL_AWS_KEYNAME=id_rsa
400
+ - export TOIL_AWS_ZONE=us-west-2a
401
+ - export GOOGLE_APPLICATION_CREDENTIALS=$GOOGLE_CREDENTIALS
402
+ - export TOIL_GOOGLE_KEYNAME=id_rsa
403
+ - export TOIL_GOOGLE_PROJECTID=toil-dev
404
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/mesos/MesosDataStructuresTest.py::DataStructuresTest
405
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/batchSystems/batchSystemTest.py::MesosBatchSystemTest
406
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/sort/sortTest.py::SortTest::testAwsMesos
407
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/sort/sortTest.py::SortTest::testFileMesos
408
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/sort/sortTest.py::SortTest::testGoogleMesos
409
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/cwl/cwlTest.py::CWLv10Test::test_mesos_cwl_conformance
410
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/cwl/cwlTest.py::CWLv10Test::test_mesos_cwl_conformance_with_caching
411
+ - make test threads="${TEST_THREADS}" tests=src/toil/test/src/promisedRequirementTest.py::MesosPromisedRequirementsTest
412
+ - make test threads="${TEST_THREADS}" tests="src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSStaticAutoscaleTest src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSAutoscaleTestMultipleNodeTypes src/toil/test/provisioners/aws/awsProvisionerTest.py::AWSRestartTest::testAutoScaledCluster"
413
+
414
+ # Cactus-on-Kubernetes integration (as a script and not a pytest test)
415
+ cactus_integration:
416
+ rules:
417
+ - if: $CI_PIPELINE_SOURCE == "schedule"
418
+ - if: $CI_COMMIT_TAG
419
+ - if: $CI_COMMIT_BRANCH =~ /.*-fix-ci/
420
+ - if: $CI_COMMIT_BRANCH
421
+ changes:
422
+ compare_to: 'refs/heads/master'
423
+ paths:
424
+ - 'src/toil/test/cactus/test_cactus_integration.py'
425
+ stage: integration
426
+ script:
427
+ - export CACTUS_COMMIT_SHA=f5adf4013326322ae58ef1eccb8409b71d761583
428
+ - set -e
429
+ - ${MAIN_PYTHON_PKG} -m virtualenv venv && . venv/bin/activate && make prepare && make develop extras=[aws]
430
+ - python setup_gitlab_docker.py # login to increase the docker.io rate limit
431
+ # This reads GITLAB_SECRET_FILE_SSH_KEYS
432
+ - python setup_gitlab_ssh.py
433
+ - chmod 400 /root/.ssh/id_rsa
434
+ - make test tests=src/toil/test/cactus/test_cactus_integration.py
@@ -0,0 +1,23 @@
1
+ # .readthedocs.yaml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ version: 2
6
+
7
+ build:
8
+ os: ubuntu-22.04
9
+ tools:
10
+ python: "3.9"
11
+
12
+ sphinx:
13
+ configuration: docs/conf.py
14
+
15
+ python:
16
+ install:
17
+ # We list all our docs build requirements as dev dependencies, so install the dev dependencies.
18
+ - requirements: requirements-dev.txt
19
+ # Install Toil itself, without any extras.
20
+ - method: pip
21
+ path: .
22
+ extra_requirements: []
23
+
@@ -0,0 +1,46 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at bd2k-genomics@googlegroups.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
@@ -0,0 +1,6 @@
1
+ Contribution Guidelines
2
+ =======================
3
+
4
+ Before proposing a pull request, please read our [Contributor's Guide][1].
5
+
6
+ [1]: https://toil.readthedocs.io/en/master/contributing/contributing.html#contributing "Toil Contributor's Guide"