diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..8224c2a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,48 @@ +name: Build + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + name: Build with Slurm ${{ matrix.slurm }} + runs-on: ubuntu-latest + container: ${{ matrix.container }} + + env: + SOURCEDIR: ${{ github.workspace }} + BUILDDIR: ${{ github.workspace}}/build + + strategy: + fail-fast: false + + matrix: + container: + - ubuntu:lunar + - ubuntu:mantic + - ubuntu:noble + include: + - container: ubuntu:lunar + slurm: 22.05 + - container: ubuntu:mantic + slurm: 23.02 + - container: ubuntu:noble + slurm: 23.11 + + steps: + - name: Install dependencies + run: sudo apt-get install -y cmake ninja-build libslurm-dev + + - uses: actions/checkout@v4 + + - name: Configure + run: cmake -GNinja -S $SOURCEDIR -B $BUILDDIR + + - name: Build + run: cmake --build $BUILDDIR + # + # - name: Test + # run: ctest --test-dir $BUILDDIR diff --git a/README.md b/README.md index dad92b7..b8f6bb4 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ File | Description > release. [^bk1WA] Build this plug-in using `g++` from the GNU Compiler Collection (GCC) version 8 -or newer. The plug-ins are compiled against this header file `spank.h` [02]. +or newer. The plug-ins are compiled against the header file ``. Fedora distributes this file in the `slurm-devel` RPM package [^DoUiD]. CMake is available via the `cmake` package. @@ -35,7 +35,7 @@ available via the `cmake` package. cmake -S . -B build # configure the project and choose a build dir cmake --build build # build the Singularity SPANK plug-in sudo cmake --install build # install the binary and configuration files -# on older CMake: cmake --build build --target install +# on older CMake: sudo cmake --build build --target install ``` By default the plug-in `singularity-exec.so` is installed to `/usr/lib64/slurm`. @@ -156,6 +156,26 @@ sudo cmake --install build # install the binary and configuration files sudo systemctl enable --now munge slurmctld slurmd ``` +## License + +``` +Copyright © 2020-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH + Matthias Kretz + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +``` + ## References [^bk1WA]: SPANK - Slurm Plug-in Architecture @@ -176,7 +196,7 @@ sudo systemctl enable --now munge slurmctld slurmd [^DoUiD]: Fedora Slurm RPM Package -[99]: singularity-exec.conf +[99]: singularity-exec.conf.in [98]: slurm-singularity-wrapper.sh [97]: containers.sh [96]: Vagrantfile diff --git a/main.cpp b/main.cpp index 0e77888..4b5afb4 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,6 @@ /*{{{ - Copyright © 2020 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH - Matthias Kretz + Copyright © 2020-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH + Matthias Kretz This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by