CI cleanup - #1320
Open
lassejsc wants to merge 5 commits into
Open
Conversation
different srun variation handling to a separate script slurm_run.sh. Renamed the workflow since it will now pick the github_ci sbatch script based on the vlasiator_arch
Closed
job name since echoing of the slurm_job_id only happens IF the sbatch started running the script, otherwise if it is queued it will fail to cancel it.
Contributor
Author
|
This is in a condition that can be reviewed but since the runners are still down it probably should be tested across all platforms |
lassejsc
marked this pull request as ready for review
July 7, 2026 08:24
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.
Will document more later, for now the gist of it is that I've combined the different workflows for different architectures into a single matrix job which makes the workflow a ton cleaner.
In addition i've made some use of the yaml tags
&to reuse steps etc, this also makes things cleaner if a new test is added etc.Right now it should work and do all the same things, there are still things that maybe unnecessary like uploading some artifacts.
It does make the workflow overview less cool but more concise
Some basic documentation:
github CI
CI on turso
Turso testpackage
The testpackage that runs on turso does the following in summary:
.github/workflows/github-ci.ymlcompile_tp:truewill compile with thetestpackageflag andfalsewithout it. Latter is should be referred to asprod/productionin the CI.debug:truewill use compilation flags fromcompile_flags_tp/compile_flags_prod(compile_tp:true/false) in.github/workflows/slurm_run.shrun_tp:trueandcompile_tp:truethen the github ci test scripttestpackage/small_test_[VLASIATOR_ARCH]_github_ci.shwill be run.small_test_hile_cpu_github_ci.shfor hile_cpuAdding new platform to test
Adding a new platform to test in the CI is a roughly a two(three) step process:
.github/workflows/slurm_run.sh.github/workflows/github-ci.ymlsmall_test_[VLASIATOR_ARCH]_github_ci.shscript for the testpackage tests. Note that this is likely not trivial and currently only couple architectures have this.run/compilation flags
Each platform needs its specific srun flags defined, these are done in the
.github/workflows/slurm_run.sh. There are 4 different type of flags:core_flags: the number of cores/tasks/nodes to use for compiling or heavier srun callsconstraint: for setting the partition etc to use for compiling the testpackageconstraint_small: for setting the constraint for lighter calls like build libs/file handlingmem_flags: the amount of memory to use for compilationFor now the small_test testpackage flags etc are called with sbatch so these are set in the script itself.
Compilation flags can be set in
compile_flags_tp/compile_flags_prodwhendebug:true. See the script for an example.Adding a new matrix entry to the workflow
See the matrix entries in the workflow file, the format is the following
See the summary in Turso testpackage for the boolean flags.
(The link above should push you to the correct section but i havent tested it since it doesnt seem to maybe work as well in the PR preview)