GNU Octave for continuous integration
Matlab CI is often a better choice than Octave below.
Cross-platform developers run into numerous compatibility issues. Rather than wait for frustrated users to report such a bug, use continuous integration.
Here are CI templates using GNU Octave tests of .m code. Octave oruntests() is incompatible with the advanced functionality of Matlab runtests(),
GitHub Actions: “.github/workflows/ci.yml”:
name: ci
on:
push:
paths:
- "**.m"
- ".github/workflows/ci.yml"
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout
- run: |
sudo apt update
sudo apt install --no-install-recommends octave
- run: octave --eval "test_myfuncs"
working-directory: tests
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout
- run: choco install octave.portable
- run: octave --eval "test_myfuncs"
working-directory: tests