Files
Gleb Chesnokov 10a7631d1f scst: Raise the minimum upstream kernel version to 3.18
Upstream Linux 3.11-3.17 uses older percpu_ref implementations whose
memory lifetime and reinitialization rules do not support the revival
needed when SCST cancels a suspend with outstanding commands. Maintaining
those implementations requires a separate compatibility path.

Require upstream Linux 3.18 or later and remove the eight 3.10-3.17
entries from the nightly matrix and the 3.10 selector from regression CI.
Keep every distribution entry, including EL7 7.5-7.9 and UEK4/UEK5. EL7
has the newer percpu_ref implementation despite its 3.10 base version.

Enforce the minimum and vendor exception in the shared build header.
This is a support-policy change, not an analyzer-warning fix. It does not
fix the remaining reinit-versus-resurrect mismatch on supported kernels.
2026-10-21 19:48:40 +03:00
..

This directory (nightly/) contains a simple, automatic build-and-test
system for SCST, intended to be run by cron.

Note (importantly) it doesn't test the sources in the tree of which
this directory is a part (viz, nightly/..).  Instead it checks out
a complete new tree, builds and tests that independently of the
existing tree.

To use, choose a tag, probably a machine name, and run

   bin/nightly <tag>

and supply the following two config files:

- conf/<tag>.conf:  this is sourced by the 'nightly' script, and can define
  any or all of the following environment variables:

  ABT_DETAILS: describes the machine in more detail, eg. the OS.  The default
    is empty.
  ABT_EVAL: if provided, it must be the name of a shell script that executes
    the shell command $1 with arguments $2 .. ${$#}. Allows to compile and
    run the SCST regression tests on another system than the system the
    'nightly' script runs on. It is assumed that the remote system shares the
    local filesystem tree through e.g. NFS. It is the responsibility of the
    shell script to set the remote working directory such that it matches the
    local current directory ($PWD).
  ABT_JOBS: allows parallel builds -- it's passed as the argument to "make
    -j" when building SCST and the tests.  The default is 1.
  ABT_KERNELS: kernel version numbers to test SCST against. The maintained
    project list is in conf/nightly.conf.
  ABT_TMPDIR: absolute path in which temporary files will be stored.

- conf/<tag>.sendmail:  this should be a script that sends an email to the
  desired recipient (eg. the scst-developers list).  It takes three
  command line arguments.  The first is the email subject line, the second
  is the name of the file containing the email's body (showing the tests
  that failed, and the difference between now and 24 hours ago), the third
  is the name of the file containing all the diffs (which can be made into
  an attachment, for example).

CREDITS

The automatic build-and-test infrastructure for the SCST project reuses some
ideas and shell script code from a similar infrastructure in the Valgrind project.