Skip to content

JingYiJun/slurm-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

slurm-builder

CI Release License Stars Last Commit

简体中文

Automated builder for the latest stable Slurm Debian packages (.deb). The workflow runs on every push and daily at 10:00 UTC+8, uploads build artifacts, and creates a vX.Y.Z tag and GitHub Release.

Features

  • Auto-detect latest version: Parse the newest slurm-X.Y.Z.tar.* from SchedMD's download index.
  • Debian packaging: Use upstream Debian packaging with dpkg-buildpackage to produce multiple binary packages.
  • Requested components enabled via build deps:
    • acct_gather_energy/ipmi (freeipmi)
    • acct_gather_interconnect/ofed (libibmad, libibumad, etc.)
    • acct_gather_profile/hdf5 (libhdf5-dev)
    • accounting_storage/mysql (default-libmysqlclient-dev)
    • auth/munge (libmunge-dev)
    • auth/slurm (jwt) (libjwt-dev; inject --with-jwt into debian/rules if needed)
    • AutoDetect=nvml (libnvidia-ml-dev or CUDA toolkit as fallback)
    • PAM support (libpam0g-dev)
    • task/affinity (libnuma-dev)
    • task/cgroup (libhwloc-dev, libbpf-dev, libdbus-1-dev)
    • slurmrestd (libjson-c-dev, libhttp-parser-dev, libyaml-dev, libjwt-dev)
    • HTML man pages (man2html)
    • Plus Readline, PMIx, GTK2 (sview) where applicable
  • Artifacts and Release: Upload .deb and *.changes as artifacts and create a vX.Y.Z release.

Reference: Quick Start Administrator Guide

Triggers

  • Push to any branch
  • Schedule: daily at 10:00 UTC+8 (0 2 * * *)
  • Manual: Workflow Dispatch

Workflow: /.github/workflows/main.yaml.

Output Packages

Typically (actual results may vary):

  • slurmctld_*.deb
  • slurmdbd_*.deb
  • slurmd_*.deb
  • slurmrestd_*.deb
  • slurm-client_*.deb
  • slurm-libpmi*_*.deb
  • slurm-dev_*.deb
  • plus meta slurm-<version>_*.deb and *.changes

Get the build results

  • After a PR or push run, download from the run's Artifacts.
  • Each successful build publishes a vX.Y.Z Release with all .deb files.

Install example

sudo apt-get update
sudo apt-get install -y ./slurmctld_*.deb ./slurmd_*.deb ./slurm-client_*.deb
# For RESTD, DBD, dev packages, or PMI, install additional .deb as needed

Note: accounting_storage/mysql means the plugin is built. You still need to deploy and configure the database and slurmdbd.

Customize

  • Pin a specific Slurm version by modifying the "discover latest version" step in main.yaml.
  • Change the schedule via on.schedule.cron (default 0 2 * * *).
  • Adjust build dependencies or injected configure flags to match your needs.

Develop & debug

  • Manually run via GitHub Actions → Run workflow.
  • If features are missing, ensure the proper *-dev packages are installed and check whether debian/rules needs --with-*/--enable-*.

Star History

Star History Chart

License

  • MIT License. See LICENSE.

About

A slurm deb builder based on Github Actions

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors