What are "semaphoreCI" and "continuous-integration/travis-ci" checking?

Just for my basic understanding:
What are “semaphoreCI” and “continuous-integration/travis-ci” checking in general?
Is anywhere a little documetation about that?
I searched in that forum and in the docu, but I couldn’t find some.

The each build the all firmware for most boards and run a subset of the auto-tests,
https://ardupilot.org/dev/docs/the-ardupilot-autotest-framework.html

The idea is to prevent us accidentally breaking stuff, a PR must have passed all checks before it will be merged.

The full set of auto-tests are also run on the master branch whenever a change gets in, https://autotest.ardupilot.org/

It would take to long to run the full set on each PR

Ah yes, I understand.
It’s just a (nearly) complete build with building all text and properties for Parameters and a partial autotest based on that.

I asked because when I had problems with that tests in the past, it have been syntax-errors on Parameter-descriptions in every case.
But the previously run autotests on my system did not show any problem.

So is it possible to build and syntax-check that text and properties for Parameters on my development environment?
Because than I would not be forced to start a Draft-PR to check the syntax.

This is the param check for plane.

./Tools/autotest/param_metadata/param_parse.py --vehicle ArduPlane

I tend to see what is failing, then find that test and run it locally

1 Like

@Quaxwilly with a little poking around, you can even set up your own Travis CI account and it’ll run a build for all your local branches as well. So in the middle of your work, you can push a few commits to check if anything is broken.
In the past Travis CI has caught a lot of bugs which would be in Master had it not been for the autotest.

Thank you @iampete, that’s the hint I looked for.

@rishabsingh3003 I think the best and most efficient way for me would be to check by the parser locally while I’m developing and finally start a Draft-PR.