ci(workflows): shallow checkout and fail-fast in checks#27032
Merged
Conversation
Port checkout hygiene from the CI orchestrator branch (mrpollo/ci_orchestration) to current workflows without merging the orchestrator itself. - checks.yml: enable fail-fast (99% success rate observed, cancel on first failure saves runner time), switch to fetch-depth 1, extract safe.directory to its own step - itcm_check.yml: fetch-depth 1, drop submodules: recursive (the Makefile bootstraps submodules as a prerequisite of board targets) - sitl_tests.yml, ros_integration_tests.yml, mavros_mission_tests.yml, mavros_offboard_tests.yml, python_checks.yml: fetch-depth 1 Each change matches the corresponding job in ci-orchestrator.yml on mrpollo/ci_orchestration 1:1. Workflows that legitimately need history (clang-tidy, flash_analysis, failsafe_sim, ros_translation_node, ekf_*_change_indicator, build_all_targets) are left alone. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
mrpollo
added a commit
that referenced
this pull request
Apr 9, 2026
Port the checks.yml and python_checks.yml improvements from the CI orchestrator branch (mrpollo/ci_orchestration, PR #26257) without doing the full T1/T2 split. checks.yml: - Drop 5 matrix entries the orchestrator removed: tests_coverage, px4_fmu-v2_default stack_check, NO_NINJA_BUILD=1 px4_fmu-v5_default, NO_NINJA_BUILD=1 px4_sitl_default, px4_sitl_allyes. - Remove the codecov/codecov-action@v1 step (deprecated, only ran for the dropped tests_coverage entry). - Wire the setup-ccache / save-ccache composite actions around make tests (cache-key-prefix ccache-sitl, max-size 300M) so repeat runs reuse the SITL build tree. Matches the orchestrator basic-tests job 1:1. python_checks.yml: - Replace the apt-get install python3 + pip install --break-system-packages + hardcoded $HOME/.local/bin paths with actions/setup-python@v5 pinned to 3.10 and plain pip install. - Linters now run from PATH instead of $HOME/.local/bin. Stacks on top of mrpollo/ci-checkout-hygiene (#27032) which shipped fail-fast: true, fetch-depth: 1, and the safe.directory step extraction. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
mrpollo
added a commit
that referenced
this pull request
Apr 9, 2026
Port the checks.yml and python_checks.yml improvements from the CI orchestrator branch (mrpollo/ci_orchestration, PR #26257) without doing the full T1/T2 split. checks.yml: - Drop 5 matrix entries the orchestrator removed: tests_coverage, px4_fmu-v2_default stack_check, NO_NINJA_BUILD=1 px4_fmu-v5_default, NO_NINJA_BUILD=1 px4_sitl_default, px4_sitl_allyes. - Remove the codecov/codecov-action@v1 step (deprecated, only ran for the dropped tests_coverage entry). - Wire the setup-ccache / save-ccache composite actions around make tests (cache-key-prefix ccache-sitl, max-size 300M) so repeat runs reuse the SITL build tree. Matches the orchestrator basic-tests job 1:1. python_checks.yml: - Replace the apt-get install python3 + pip install --break-system-packages + hardcoded $HOME/.local/bin paths with actions/setup-python@v5 pinned to 3.10 and plain pip install. - Linters now run from PATH instead of $HOME/.local/bin. Stacks on top of mrpollo/ci-checkout-hygiene (#27032) which shipped fail-fast: true, fetch-depth: 1, and the safe.directory step extraction. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
mrpollo
added a commit
that referenced
this pull request
Apr 9, 2026
Port the checks.yml and python_checks.yml improvements from the CI orchestrator branch (mrpollo/ci_orchestration, PR #26257) without doing the full T1/T2 split. checks.yml: - Drop 5 matrix entries the orchestrator removed: tests_coverage, px4_fmu-v2_default stack_check, NO_NINJA_BUILD=1 px4_fmu-v5_default, NO_NINJA_BUILD=1 px4_sitl_default, px4_sitl_allyes. - Remove the codecov/codecov-action@v1 step (deprecated, only ran for the dropped tests_coverage entry). - Wire the setup-ccache / save-ccache composite actions around make tests (cache-key-prefix ccache-sitl, max-size 300M) so repeat runs reuse the SITL build tree. Matches the orchestrator basic-tests job 1:1. python_checks.yml: - Replace the apt-get install python3 + pip install --break-system-packages + hardcoded $HOME/.local/bin paths with actions/setup-python@v5 pinned to 3.10 and plain pip install. - Linters now run from PATH instead of $HOME/.local/bin. Stacks on top of mrpollo/ci-checkout-hygiene (#27032) which shipped fail-fast: true, fetch-depth: 1, and the safe.directory step extraction. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
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.
Ports checkout hygiene from the CI orchestrator branch (
mrpollo/ci_orchestration, PR #26257) into current mainline workflows without merging the orchestrator itself. Every change here matches the corresponding job inci-orchestrator.ymlone-to-one, so the mainline workflows pick up the tuning from that branch incrementally while the orchestrator stays in its own long-lived branch.checks.yml: enablesfail-fast: true(theChecksworkflow runs at ~99% success, so canceling siblings on the first failure reclaims runner time with negligible visibility cost), drops tofetch-depth: 1, and extractsgit config --system --add safe.directory '*'into its own step to match the orchestrator's layout.itcm_check.yml: drops tofetch-depth: 1and removessubmodules: recursive. Board targets bootstrap their submodules via the top-level Makefile (same approach the orchestrator'sitcm-checkjob uses).sitl_tests.yml,ros_integration_tests.yml,mavros_mission_tests.yml,mavros_offboard_tests.yml,python_checks.yml:fetch-depth: 1. None of these jobs use git history.Workflows that legitimately need full history are left alone:
clang-tidy.yml(base-ref diff forclang-tidy-diff),flash_analysis.yml(PR-head vs base bloat delta),failsafe_sim.yml,ros_translation_node.yml,ekf_functional_change_indicator.yml,ekf_update_change_indicator.yml, andbuild_all_targets.yml.Follow-up:
nuttx_env_config.ymlhas no orchestrator equivalent and the orchestrator drops thePX4_EXTRA_NUTTX_CONFIGvalidation entirely. Separate issue will track whether this workflow is still load-bearing.