303 — Validating Your Job Before Submission

Type: Markdown Reference Source: PACE Job Submission Validator — Zach Wallace


What this is

Zach Wallace built a command-line tool that checks a Slurm job script for common mistakes before you submit it — catching problems that would otherwise only show up after the job fails and you’re digging through logs to figure out why. It checks five things:

Every issue it flags comes with a plain-language explanation and a concrete fix — not just “this is wrong.”

Who this is for

How to run it

git clone https://github.com/Human-Augment-Analytics/admin-high-performance-computing.git
cd admin-high-performance-computing/HPC_Job_Submission

# Validate a single script
python3 pace_validator.py your_job.sh

# Validate multiple scripts at once
python3 pace_validator.py *.sh

# Treat warnings as errors
python3 pace_validator.py your_job.sh --strict

Requires Python 3.10+. Check your version with python3 --version, or load it on ICE with module load python/3.10 if needed.

Reading the output

Issues come back labeled by severity:

Fix what’s flagged, rerun the validator, and submit once it reports clean.

Integration & enforcement

Two ways this is meant to get used beyond a one-off check:

The tool also supports --exit-code (non-zero exit on failure), which means it can be wired into a CI/CD or pre-commit hook for teams that want this enforced automatically rather than manually.


Note: the source doc’s own clone instructions point at a subdirectory tree URL, which git can’t clone directly. The command above clones the full repo and cds into the right folder — the corrected version to use.