Every exercise in this book
Every exercise is on the page that just taught the object it tests.
Each page includes one or two items, positioned where the page has just taught the concept they test.
This page enumerates all items in reading order.
A taught session may select a subset, and an individual reader can locate the desired item.
Each item possesses an id that remains stable across edits.
The stable id can be referenced aloud, in messages, or in shared documents during a workshop.
An easyconfig is Python
A toolchain is a hierarchy
A pin is for one generation
The robot
A versionsuffix is part of the name
What “installed” means
A checksum is a claim about bytes
One easyconfig, many installs
A hook changes a file you are not reading
Build your own, without asking anyone
EESSI, somebody else’s stack
eb-stack ports a recipe and bumps one
How a build executes
The isolation policy
Build dependencies are not dependencies
What a toolchain injects
Patches, and what a patch is relative to
Languages that bring their own package manager
What a module exports
Reading a failed build
Writing one from nothing
Writing an easyblock
Testing, and the four things it can mean
Standing where the build stood
Reading a stack off the wire: CernVM-FS
The same stack somewhere else
Four things that actually happened
Your first week on somebody’s stack
Extensions, and what an entry in exts_list inherits
An easystack is the list the bot will build
The bot is three processes and a comment
A site stack next to EESSI, not inside it
Inspect writes a work queue, not a recipe
Format, lint and check are three different questions
A stack lock is not a package lock
A campaign finding is a typed failure, not a log
A wrapper is the range EasyBuild will not write
Four EasyBuild 5 surfaces the earlier pages skipped
A ReFrame test is a class
The pipeline has six stages
The configuration file is the machine
A performance function is a number with a unit
Compile or run-only
Parameters multiply the suite
A portable test leaves the machine in the config
Software maps to tests
Reading a failed ReFrame run
SeisSol, from a Spack recipe to a PR
The catalog names every exercise by id, including ``EB-Pin-mcq-1``,
``EB-Robot-1``, ``EB-Python-1``, ``EB-Bot-1``.
The catalog
An easyconfig is Python
A toolchain is a hierarchy
A pin is for one generation
The robot
A versionsuffix is part of the name
What “installed” means
A checksum is a claim about bytes
One easyconfig, many installs
A hook changes a file you are not reading
Build your own, without asking anyone
EESSI, somebody else’s stack
eb-stack ports a recipe and bumps one
How a build executes
The isolation policy
Build dependencies are not dependencies
What a toolchain injects
Patches, and what a patch is relative to
Languages that bring their own package manager
What a module exports
Reading a failed build
Writing one from nothing
Writing an easyblock
Testing, and the four things it can mean
Standing where the build stood
Reading a stack off the wire: CernVM-FS
The same stack somewhere else
Four things that actually happened
Your first week on somebody’s stack
Extensions, and what an entry in exts_list inherits
An easystack is the list the bot will build
The bot is three processes and a comment
A site stack next to EESSI, not inside it
Inspect writes a work queue, not a recipe
Format, lint and check are three different questions
A stack lock is not a package lock
A campaign finding is a typed failure, not a log
A wrapper is the range EasyBuild will not write
Four EasyBuild 5 surfaces the earlier pages skipped
A ReFrame test is a class
The pipeline has six stages
The configuration file is the machine
A performance function is a number with a unit
Compile or run-only
Parameters multiply the suite
A portable test leaves the machine in the config
Software maps to tests
Reading a failed ReFrame run
SeisSol, from a Spack recipe to a PR