ci(mavros): merge mission+offboard into one workflow, migrate to noetic and Python 3#27038
Merged
ci(mavros): merge mission+offboard into one workflow, migrate to noetic and Python 3#27038
Conversation
…ic and Python 3 Consolidate mavros_mission_tests.yml and mavros_offboard_tests.yml into a single mavros_tests.yml with a matrix strategy. Switch from docker-in-docker with px4-dev-ros-melodic to a native container using px4-dev-ros-noetic, enabling ccache and composite actions (setup-ccache, build-gazebo-sitl, save-ccache). Migrate all five MAVROS Python test files from Python 2 to Python 3 (remove six/xrange, from __future__ imports, replace px4tools with pyulog for estimator analysis). Bump git-auto-commit-action from v4 to v7 in ekf_update_change_indicator.yml. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
e2da771 to
6659b83
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges
mavros_mission_tests.ymlandmavros_offboard_tests.ymlinto a singlemavros_tests.ymlwith a matrix strategy, and migrates from the ROS Melodic container to Noetic. Ports the orchestrator'smavros-testsjob (mrpollo/ci_orchestration, #26257) to mainline.The current MAVROS workflows run builds inside
docker run --rm px4io/px4-dev-ros-melodic:2021-09-08, which prevents ccache, composite actions, and thebuild-gazebo-sitlaction from working because the compilation happens inside a throwaway container invisible to the host runner. The orchestrator solved this by switching to a nativecontainer:block withpx4io/px4-dev-ros-noetic:2021-09-08, which lets GitHub Actions steps run inside the container directly.The consolidated workflow uses a two-entry matrix (
MissionandOffboard) instead of two separate workflow files. Each matrix entry getssetup-ccache/save-ccachewired withccache-sitl-gazebo-classicat 350M (self-seeding, since mainline has no upstream seeder job), thebuild-gazebo-sitlcomposite action replacing explicit make invocations,pip3 install -r Tools/setup/requirements.txtfor Python dependencies the noetic image needs, and a 10-minute step timeout on the test run. The runner is already on RunsOn 4cpu with s3-cache from the previous PR.The five MAVROS test scripts in
integrationtests/python_src/px4_it/mavros/are migrated from Python 2 to Python 3 to match the noetic container (which ships Python 3). Changes are mechanical: shebang updates, droppingfrom __future__ import divisionandfrom six.moves import xrange, replacingxrange()withrange().mission_test.pyreplaces thepx4tools.ulogdependency (Python 2 only, unmaintained) withpyulogand NumPy for quaternion-to-euler conversion and attitude error analysis.Also bumps
stefanzweifel/git-auto-commit-actionfrom v4 to v7 inekf_update_change_indicator.yml. v4 uses Node 16 which is past GitHub's deprecation deadline.