Simplify CI environment#3
Draft
MitchellThompkins wants to merge 1 commit into
Draft
Conversation
MitchellThompkins
force-pushed
the
mitchellthompkins/make-ci-simple
branch
2 times, most recently
from
July 13, 2026 05:25
d4ca31e to
459ce8b
Compare
MitchellThompkins
force-pushed
the
mitchellthompkins/make-ci-simple
branch
from
July 13, 2026 05:55
459ce8b to
ed2992f
Compare
path. force a failre Revert "force a failre" This reverts commit 6c35dfc.
MitchellThompkins
force-pushed
the
mitchellthompkins/make-ci-simple
branch
from
July 13, 2026 06:10
6c35dfc to
757c5b3
Compare
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.
Description
gnu-octave#32 added a CI environment but did so in a very hacky way that I was unhappy with basically immediately. It did let me test test both locally and in CI but by doing some non-ideal searching through files to aggregate all the test files.
This was all in an effort to avoid installing the package in the docker container because
installin the Makefile depends ondist, which depends ondocsand the docker image I was using from https://github.com/gnu-octave/docker lacked the tooling to actually build the docs (FWIW I think https://github.com/gnu-octave/octave-buildbot may actually have all the right tooling so that's probably worth exploring later.I realized I could just copy the installation makefile recipe and strip out the docs generation stuff. That combined with the fact that I realized
__run_test_suite__existed let me drastically reduce the complexity of the CI environment. It also makes the output much more legible, as a standard octave function displays the test results vs what I was doing before.The only trade-off is that installation uses
git archivewhich means that for a file to be tested it has to be tracked by git. For files that are already tracked by git I've usedgit stash createto temporarily grab the hash that would be represented if you were to make the commit. However files that are completely untracked (so new files) won't be picked up at all, so you need togit addthem in order to actually test. The trade-off for simplicity seems acceptable to me. I've updated theCONTRIBUTION.mdto reflect this as well.Changes
installationrecipe