Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move tests from Travis to GitHub Actions to test on all OSses #68

Closed
sappelhoff opened this issue Oct 26, 2020 · 10 comments · Fixed by #100
Closed

Move tests from Travis to GitHub Actions to test on all OSses #68

sappelhoff opened this issue Oct 26, 2020 · 10 comments · Fixed by #100
Labels
infrastructure Anything to do with automation, continuous integration...

Comments

@sappelhoff
Copy link
Member

GitHub Actions allows for easy testing on Windows, MacOS, and Linux, which would improve the testing pipeline to also cover "special" bugs that only appear on some OSses.

@Remi-Gau
Copy link
Collaborator

Hum... Even with matlab and octave?

I know that Travis actually now supports Matlab in their CI so we could have both there. Not sure about github actions.

@sappelhoff
Copy link
Member Author

Hum... Even with matlab and octave?

Octave yes (not sure about Windows to be honest) - but Matlab probably not. I didnt know that Travis supports Matlab in their CI, that's awesome ... and a bit puzzling to me how they deal with the licensing issues :)

@Remi-Gau
Copy link
Collaborator

Well I don't know much more than that: https://twitter.com/RemiGau/status/1310681042714537991
And I have not tested it yet

@sappelhoff
Copy link
Member Author

I now found this: https://github.com/joergbrech/moxunit-action

but haven't tested it yet.

This action performs unit tests for GNU Octave and Matlab using the unit testing framework MOxUnit.

Looks like we need some time and energy to test a couple of alternatives :-)

@Remi-Gau
Copy link
Collaborator

Ha yeah we started thinking about using MOxUnit in #44 .

No decision has been made about this yet. But it definitely is an option that can also get you your code coverage in one fell swoop.

@gllmflndn
Copy link
Collaborator

In general, I would also prefer to use GitHub Actions to anything else but if we want to test with MATLAB and not just Octave, we might have to (temporarily) still use another platform. This page only mentions CircleCI and Travis, while this one does not mention Travis.

@Remi-Gau Remi-Gau added the infrastructure Anything to do with automation, continuous integration... label Oct 29, 2020
@Remi-Gau Remi-Gau linked a pull request Dec 28, 2020 that will close this issue
@Remi-Gau
Copy link
Collaborator

@sappelhoff

any pointer on trying to adapt our github action workflows to run our tests also on MacOS and Windows (for octave)?

I don't have the bandwidth to look on setting up CI tests with matlab at the moment.

@sappelhoff
Copy link
Member Author

Yes, I think setting up for at least MacOS will be relatively straight forward: You will just have to make another step like this one:

- name: Install dependencies
run: |
sudo apt-get -y -qq update
sudo apt-get -y install octave liboctave-dev
sudo apt-get -y install nodejs npm

but ensure that the (then two) steps run depending on the OS. that is, one runs only when OS=ubuntu, the other one only when OS=macOs

For the Ubuntu step, you leave everything as it is ... and for the MacOS step you adjust the "apt" installs with "brew" installs. The remaining action should work regardless of ubuntu or MacOS.

--> for windows it would go the same way ... first duplicating the steps, then making them run conditionally on a single OS only, and then adjusting the duplicated-OS-specific steps to actually work on that OS. I mean -> apt on ubuntu, brew on macOS, and maybe chocolatey on windows, ... and so on for all other commands.

I am not sure how easy this will be with windows. I once managed it for a similarly "complicated" install for the bids-validator. Hopefully it can serve as an example of what I mean:

https://github.com/sappelhoff/bids-validator/blob/407b94c388bf36005069e0a4f0c67a21fbcdc8b8/.github/workflows/python_tests.yml#L14-L42

@Remi-Gau
Copy link
Collaborator

Awesome. Thanks for all those pointers.

Moving this to a separate issue. 😉

@acampbel
Copy link

HI all,

This seems relevant:

https://github.com/matlab-actions

They are not in the marketplace yet, but they work just as the travis, circle, and azure DevOps extensions.

Have fun!
Andy

@Remi-Gau Remi-Gau moved this to Done in BIDS-matlab Jun 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Anything to do with automation, continuous integration...
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants