Skip to content

Simplify CI environment#3

Draft
MitchellThompkins wants to merge 1 commit into
mainfrom
mitchellthompkins/make-ci-simple
Draft

Simplify CI environment#3
MitchellThompkins wants to merge 1 commit into
mainfrom
mitchellthompkins/make-ci-simple

Conversation

@MitchellThompkins

@MitchellThompkins MitchellThompkins commented Jul 12, 2026

Copy link
Copy Markdown
Owner

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 install in the Makefile depends on dist, which depends on docs and 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 archive which 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 used git stash create to 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 to git add them in order to actually test. The trade-off for simplicity seems acceptable to me. I've updated the CONTRIBUTION.md to reflect this as well.

Changes

  • Minor copy/paste changes to makefile to copy existing installation recipe
  • Drastically reduces the complexity of the script used to run tests
  • Updates local test contribution guidelines

@MitchellThompkins
MitchellThompkins force-pushed the mitchellthompkins/make-ci-simple branch 2 times, most recently from d4ca31e to 459ce8b Compare July 13, 2026 05:25
@MitchellThompkins MitchellThompkins changed the title install from doc-free tarball instead of path hacking Simplify CI environment Jul 13, 2026
@MitchellThompkins
MitchellThompkins force-pushed the mitchellthompkins/make-ci-simple branch from 459ce8b to ed2992f Compare July 13, 2026 05:55
path.

force a failre

Revert "force a failre"

This reverts commit 6c35dfc.
@MitchellThompkins
MitchellThompkins force-pushed the mitchellthompkins/make-ci-simple branch from 6c35dfc to 757c5b3 Compare July 13, 2026 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant