From a49cffb09f9bc410abc61f086b6b70fea019fa8a Mon Sep 17 00:00:00 2001 From: Ramon Roche Date: Thu, 9 Apr 2026 13:45:20 -0700 Subject: [PATCH] ci(checks): trim matrix, ccache tests, modernize python_checks 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 --- .github/workflows/checks.yml | 21 ++++++++++----------- .github/workflows/python_checks.yml | 12 +++++++----- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index cf44592d10..665820862a 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -30,13 +30,8 @@ jobs: "check_format", "check_newlines", "tests", - "tests_coverage", - "px4_fmu-v2_default stack_check", "validate_module_configs", "shellcheck_all", - "NO_NINJA_BUILD=1 px4_fmu-v5_default", - "NO_NINJA_BUILD=1 px4_sitl_default", - "px4_sitl_allyes", "module_documentation", ] @@ -48,6 +43,13 @@ jobs: - name: Configure Git Safe Directory run: git config --system --add safe.directory '*' + - uses: ./.github/actions/setup-ccache + id: ccache + if: matrix.check == 'tests' + with: + cache-key-prefix: ccache-sitl + max-size: 300M + - name: Building [${{ matrix.check }}] env: PX4_SBOM_DISABLE: 1 @@ -55,10 +57,7 @@ jobs: cd "$GITHUB_WORKSPACE" make ${{ matrix.check }} - - name: Uploading Coverage to Codecov.io - if: contains(matrix.check, 'coverage') - uses: codecov/codecov-action@v1 + - uses: ./.github/actions/save-ccache + if: always() && matrix.check == 'tests' with: - token: ${{ secrets.CODECOV_TOKEN }} - flags: unittests - file: coverage/lcov.info + cache-primary-key: ${{ steps.ccache.outputs.cache-primary-key }} diff --git a/.github/workflows/python_checks.yml b/.github/workflows/python_checks.yml index 265db9bf3c..72a6c60044 100644 --- a/.github/workflows/python_checks.yml +++ b/.github/workflows/python_checks.yml @@ -20,14 +20,16 @@ jobs: with: fetch-depth: 1 - - name: Install Python3 - run: sudo apt-get install python3 python3-setuptools python3-pip -y + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" - name: Install tools - run: python3 -m pip install mypy types-requests flake8 --break-system-packages + run: pip install mypy types-requests flake8 - name: Check MAVSDK test scripts with mypy - run: $HOME/.local/bin/mypy --strict test/mavsdk_tests/*.py + run: mypy --strict test/mavsdk_tests/*.py - name: Check MAVSDK test scripts with flake8 - run: $HOME/.local/bin/flake8 test/mavsdk_tests/*.py + run: flake8 test/mavsdk_tests/*.py