Repository navigation
Conversation
Collaborator
* change dependencies management * add full examples coverage in doctest * update dependency parameter in test_submit_pbs function * add test function for build dependencies string from string ids in pbs scheduler * add test function for build dependencies string from jobs in pbs scheduler * add test function for _validate_dependency_type call in PBS build_dependencies_string * move dependencies job status validation to dedicated method * add test for job status validation call on pbs build dependencies string * add tests for Pbs._vaidate_dependenciesÃ_jobs_status * remove old all-in-one test function * remove redundant test * add missing valid dependency types * simplify PBS submit erorrs test * add test for Pbs.validate_dependency_type * add test for Pbs.validate_job_id * add docstring for Pbs._parse_job_ids() * delegate pbs validations to the scheduler * adapt JobBuilder.submit() test * remove tests on delegated validation functions * expose JobBuilder job list in a property * separate venv instruction string parts with a linebreak * adapt PBS write test to multiline conda env instruction
Gautzilla
marked this pull request as ready for review
September 15, 2026 09:39
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🍹Slurp the SLURM
This PR aims at adding the
osekit.job.scheduler.slurmclass, which can be used to submit jobs in a SLURM scheduler.It'll be developed alongside #465, as some of the code in #465 is still PBS-locked. I'll do some edits in #465 when I feel like some features that I thought were PBS-specific can be moved up in the Scheduler class, and I'll rebase this branch on the Scheduler one from time to time.
In the end, the user should be able to run public transforms in a slurm workload manager easily:
🐕🦺 Shebang config and subprocess prefix
I had some issues when trying to test the
Slurmscheduler in situ:-lparameter) of the bash interpreter, otherwise themodulecommand wasn't foundssh $HOSTNAMEcommand was needed before running slurm commandsShebang config
The shebang can now be edited in the
Scheduler.shebangproperty. It is defaulted to#!/bin/bash, so the login mode can be specified by:Subprocess prefix
I added the
Scheduler.cmd_prefixproperty that contains a list of commands that are run before running the actual commands.To automatically run the
ssh $HOSTNAMEcommand before running any slurm command (that are run by OSEkit under the hood), we have to get theHOSTNAMEthrough the environment variables and add the ssh command to thecmd_prefixproperty:Full Slurm job config example
resolves #279