{"push_id":727742463,"size":348,"distinct_size":294,"ref":"refs/heads/master","head":"3b7554e833c5e1417e44bb9c69f62134b1ebca24","before":"d1387c5847ef3e6d4ffe4c3fba2a0eb8e02ebb46","commits":[{"sha":"dd8f439e29a32b3dfaef07dfa095b94aa0873d09","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Confine job-related functionality into a single \"job backend\" module.\n\n* `tools.parallelbuild` is now parametric on a job factory object,\n  which encapsulates all functionality needed to create and manage\n  jobs.  By swapping the factory, we can change the job backend.\n\n* the `--job` option now accepts an (optional) argument, naming the\n  backend to use.  ATM, only the `pbs` backend is selectable.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/dd8f439e29a32b3dfaef07dfa095b94aa0873d09"},{"sha":"772c3c2d11ae4fe7492b376ed084abda636df4be","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Ensure `PbsJobFactory` raises a `RuntimeError` if no connection to the server can be made.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/772c3c2d11ae4fe7492b376ed084abda636df4be"},{"sha":"2f66b0745275bfc0915abd5e5766c2201a306879","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Remove use of `functools.wrap` to stay compatible with Py 2.4","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/2f66b0745275bfc0915abd5e5766c2201a306879"},{"sha":"c01460986cf14e46cf049b2d22cc614879fca04d","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Avoid closures when possible, module-level functions are faster.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/c01460986cf14e46cf049b2d22cc614879fca04d"},{"sha":"6a7112153db78d567ae924779b0d5b12128a2958","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"More Python 2.4 compatibility.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/6a7112153db78d567ae924779b0d5b12128a2958"},{"sha":"00f440b2b4c44966f3c5d88d47d9af85d05db97d","author":{"email":"f7b9c049bb59e8a8a72557815fddb9695faf0ead@ugent.be","name":"Kenneth Hoste"},"message":"add new pkg tools.job, move --job support relying on pbs_python in it","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/00f440b2b4c44966f3c5d88d47d9af85d05db97d"},{"sha":"21f031766b681d41b965096ebc11e547d2f553ec","author":{"email":"f7b9c049bb59e8a8a72557815fddb9695faf0ead@ugent.be","name":"Kenneth Hoste"},"message":"flesh out ideas to restructure --job support to add GC3Pie backend","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/21f031766b681d41b965096ebc11e547d2f553ec"},{"sha":"9e593b86009b2e6ab45fc8c6e31e4de833dfef88","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Get job backend setting via the `easybuild.tools.config` method.\n\nNo need to pass the backend setting all the way down from the top-level.\nThis is what is done, e.g., for the \"module naming scheme\".","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/9e593b86009b2e6ab45fc8c6e31e4de833dfef88"},{"sha":"2a9af158fcd69a3dbd5d6d428ee7f5f13c424515","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Merge all abstract and generic job-related code into `easybuild.tools.job`.\n\nIt was previously scattered across the two files\n`easybuild/tools/job/__init__.py` and `easybuild/tools/job/job.py`.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/2a9af158fcd69a3dbd5d6d428ee7f5f13c424515"},{"sha":"3bc286630413f27ee3fbe339f083a5fd671da37d","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Submit *all* jobs with a user hold, and then release them all.\n\nSince jobs with dependencies will have a dependency hold set anyway, we\ncan spare ourselves the check.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/3bc286630413f27ee3fbe339f083a5fd671da37d"},{"sha":"54bfd56c68810412b39d2903637857e87bc4b7d1","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Use job object themselves as dependencies.\n\nThis adaptation is needed in view of the GC3Pie job backend: GC3Pie\nmanages dependencies internally *before submission* so there is no job\nID to rely upon.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/54bfd56c68810412b39d2903637857e87bc4b7d1"},{"sha":"edf92b95eb62e5b19f31f4f3497ccdde3c8ca722","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Cosmetic changes.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/edf92b95eb62e5b19f31f4f3497ccdde3c8ca722"},{"sha":"13999bf3e4e7323529018cd9cd52d6d8dd64c10c","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"First attempt at an abstract `JobServer` interface that could be implemented by several backends.\n\nThe interface prototype emerges from a refactoring of\n`build_easyconfigs_in_parallel()` (in `parallelbuild.py`) and all around\n`pbs_python.py`.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/13999bf3e4e7323529018cd9cd52d6d8dd64c10c"},{"sha":"f8815e0d003a341e240dee176e603a1ce86eba04","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Use separate parameters `hours` and `cores` when building `Job` objects.\n\nDo not conflate them into a single `resources` dictionary: it just makes\nthe code less readable.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/f8815e0d003a341e240dee176e603a1ce86eba04"},{"sha":"efb602a8c0fd209ce7abbc61fe1ea24a27c7ff20","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Remove unused and outdated `PbsJob` import in `parallelbuild` tests.\n\nThis is preventing Jenkins from getting to the more signigicant and\njuicy error messages.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/efb602a8c0fd209ce7abbc61fe1ea24a27c7ff20"},{"sha":"5b65eeb24352a6a7f0087a919922bc37968af15f","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Use separate options `--job` and `--job-backend`.\n\nThe former is a boolean option, selecting *whether* to use asynchronous\njobs to compile/build.\n\nThe latter selects which actual job submission backend to use.  Its\nvalue must be the name of a `easybuild.tools.job.JobServer` subclass.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/5b65eeb24352a6a7f0087a919922bc37968af15f"},{"sha":"72cf63c8944401b44380f30d3b9773bb90e93269","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Cosmetic changes.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/72cf63c8944401b44380f30d3b9773bb90e93269"},{"sha":"f2a2f6c0e23b608b05d71790c9c8c639480fff19","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Job dependencies are now specified at submission time.\n\nAgain, this makes it easier to write the GC3Pie code and does not really\naffect the \"PBS direct\" one in a significant way.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/f2a2f6c0e23b608b05d71790c9c8c639480fff19"},{"sha":"d03a2c1deacf527034c76229da441a449e5def01","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Remove the now useless `Job` abstract class.\n\nAll the job submission and control work is done through the\n`easybuild.tools.job.JobServer` class; we do not need a public interface\nfor what is basically an internal implementation detail of each job\nsubmission backend.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/d03a2c1deacf527034c76229da441a449e5def01"},{"sha":"6fb7d0868b9648059ceef6e69198647cfed2bc25","author":{"email":"533a5c41a5db1f50354e93270cadf199181291d6@gmail.com","name":"Riccardo Murri"},"message":"Make `easybuild.tools.job.avail_job_servers()` actually work.\n\nFix \"OptionValueError: option --job-backend: invalid choice:\n'Pbs' (choose from )\" happening when invoking `eb` since last commit.","distinct":true,"url":"https://api.github.com/repos/hpcuantwerpen/easybuild-framework/commits/6fb7d0868b9648059ceef6e69198647cfed2bc25"}]}