* Add a first attempt at explicitly using Jenkinsfiles.
* A first attempt...
* Put code in a script block.
* Add first attempt at link check job pipeline.
* Hopefully correct shell block.
* Install git.
* Install packages as root.
* Use custom image that already has dependencies installed.
* Try processing the JUnit results.
* Fix syntax (hopefully).
* Try to get the build to set its status on Github.
* Try and see if I can get the snippet build to run too.
* A first attempt at reviving the static code analysis build.
* Refactor style check job a bit.
* Try to clean up other files and have them set statuses.
* Set status in script blocks.
* Fix directory (this may not fix my problem).
* Should I load in the script step?
* Maybe I can just load it without a name.
* Maybe I have my path wrong.
* Will this work? Just a test...
* Try using a plugin instead.
* And if I define the function manually at the top?
* Maybe this will fix the load.
* Try to turn unstable into failed.
* Hopefully fix documentation builds.
* Fix script blocks.
* Maybe fix static code analysis job.
* Try to adapt PR number variable.
* First attempt at cross-compilation job.
* Try to fix some syntax.
* Clean workspaces after build.
* Try to put the matrix in the right place.
* Another attempt at the matrix configuration.
* Maybe I have to nest it deeper.
* Maybe I have to clean always?
* What we need is more tabbing.
* Use try/catch to handle failed junit processing.
* Better handling of environment variables.
* Try a differernt approach than try/catch.
* Try to get some more information about ccache.
* Is it possible we could store the ccache at a higher level?
* Maybe I have the variable name wrong.
* Clean the cross-compilation workspace.
* Try mounting the ccache so it can be shared across multiple jobs.
* Always pull images.
* We need to run on the same node.
* Run on only one core.
* Try building in the Docker container in a different way.
* Do I have the order backwards?
* Can I run anything at all in the container?
* The static code analysis job isn't helpful.
* Try to set the user of the docker container.
* Rebuild the Docker container instead.
* Always pull an updated image.
* Download any necessary dependencies too.
* Oops, use the correct CMake options.
* Fix line break in the wrong place.
* Make sure to use the correct architecture.
* We can't use MATCHES, that is a regex.
* Oops, we need to use STREQUAL.
* Bump to an older version since newer versions don't have gfortran.
* Try to run the tests on the target.
* Correct syntax.
* Okay, I'm not allowed to generate a stage name.
* Try cleaning the workspace at the start of the build.
* Okay, so I just can't depend on the workspace cleaning job, wonderful.
* Try and add the passphrase correctly.
* Fix path for memory checks.
* Fix path to test.
* Fix PR number variable.
* Try to fix path for test copying.
* Try to get the PR number correct.
* Try and centralize where the link cache is stored.
* Why is it being printed strangely?
* Is there some weird restriction where this all has to be on one line?
* Always publish the HTML, and fix a link.
* Try to fix SSH host key check.
* Make the reports directory.
* Try to fix file parsing.
* Try to enable ccache.
* Try to set ccache directory correctly.
* Try to get the full pipeline set up correctly for cross-compilation.
* Fix path to test data.
* Allow debug builds when cross-compiling.
* Remember to unpack all the test data!
* Fail tests when the data isn't there.
* Maybe I can use find instead.
* Double escape for backslash?
* What if we just run the test?
* Port Catch2 improvement for junit runner.
See https://github.com/catchorg/Catch2/commit/c29e198eab0ccdb190495397854b937677385e2e.
* Re-enable junit testing (hopefully it will work now).
* Output directly to the xml file.
* Try to clean up regex.
* Try to set IN PROGRESS status.
* Could it be called RUNNING?
* I guess I don't get access to set jobs in progress through this API.
* Fix regex for test name extraction.
* Try to clean up Jenkinsfiles.
* Fix parameter name.
* Maybe fix syntax?
* Does it work without keyword arguments?
* Correctly accept named parameters.
* Abort previous builds to reduce load on Jenkins.
* Use optimization when compiling.
* Fix syntax for abortPrevious.
* Fix missing closing brace...
* Update links in CI documentation and try to fix memory check job.
* Add a few more hosts for testing.
* Document the additional systems.
* Separate build directories for each matrix entry.
* Use safer directory name.
* What directory are we in?
* Try an alternate strategy of setting build names.
* Fix typo.
* Assemble container name.
* Oops, forgot one.
* Oops, fix the last use of to .
* Fix bad merge.
* Set different page sizes for different systems.
* Try different quotation strategy.
* Make sure the variable actually gets substituted in.
* Quotes, bane of my existence.
* Update Jetson Orin Nano link.
* Try to use CORTEXA72 for the BB-AI again.
* Try to set flags for the Jetson Orin Nano too.
* Remove board names and use architecture names instead.
* Re-add RPI4 as BCM2711.
* Try to get the junit files back using the correct variable.