NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.68k stars 342 forks source link

Migrate CI builds from Travis CI to GitHub Actions #601

Open devernay opened 3 years ago

devernay commented 3 years ago

We should migrate all the Linux and macOS CI builds to GitHub Actions, before the travis-ci.org shutdown: (see https://travis-ci.org/github/NatronGitHub)

Lower priority:

rodlie commented 3 years ago

Ok, I have never used GitHub Actions, but a quick read of the docs/examples should do.

Do they support MSYS2/MinGW? Seems doable

rodlie commented 3 years ago

I got our custom MSYS2 working on GitHub Actions, will switch openfx-arena to GitHub Actions tomorrow.

https://github.com/NatronGitHub/openfx-arena/blob/ci-msys/.github/workflows/ci.yml

devernay commented 2 years ago

bump (we need help on this issue, maybe you're interested @YakoYakoYokuYoku )

YakoYakoYokuYoku commented 2 years ago

Build scripts might need to be adapted, testing needs to be enabled (wasn't at the moment of #700) and at the future we'll have to enable Qt5/PySide2 when the 2.4 branch is fully merged.

devernay commented 2 years ago

We had travis build scriipts that were still running when travis shut down. They should be pretty easy to adapt. These are OK for CI builds. Full builds (which produce CD artifacts) are another story.

YakoYakoYokuYoku commented 2 years ago

CD is flour from another sack (#741, #742, #743) and I need to find a way to deal with such CI build dependencies as OpenImageIO or Qt5, whether should they be used from package managers or compiled from source.

devernay commented 2 years ago

For CI we mostly relied on ubuntu packages, but build OIIO outselves, see:

Natron

rodlie commented 2 years ago

openfx-arena never had a CI build AFAIK

Moved from Travis to GitHub Actions last year.

YakoYakoYokuYoku commented 2 years ago

Now with those three PRs merged we can perform testing in CI in Natron without the requirement of building those plugins in tree, rather, the built artifacts can simply be downloaded. As of OpenFX we could do CI builds for checks, otherwise I haven't figured out any more ways to test it. OpenFX-GIMP might take a bit of time to get there as it first needs to be ported to newer GIMP. The rest, OpenFX-OpenCV seems to be uncharted territory for me, OpenFX-Vegas requires the Vegas SDK (I find it more as a demo to be honest) and stackwalker it's comparable to breakpad, although I don't know what should be done now for crash reporting.

rodlie commented 2 years ago

and stackwalker it's comparable to breakpad, although I don't know what should be done now for crash reporting.

You can just ignore the stackwalker repo, I moved development to https://github.com/rodlie/breakdown a couple of years ago.

Crash reporting can also be ignored for now. I have a branch with working local crash reporting, but low demand and issues on macOS and docker means I have not bothered to do much more with it.