From b08de6fa7e4492283edad297b74330489b619d65 Mon Sep 17 00:00:00 2001 From: CyrilWaechter Date: Mon, 14 Sep 2026 19:27:39 +0200 Subject: [PATCH] Report required CI checks for skipped paths The required compile-and-test checks come from ci.yml, which is path-filtered. A workflow skipped by path filtering leaves its required checks pending forever, so bonsai-only pull requests were blocked. Trigger the workflow unconditionally, detect relevant changes in a changes job, and skip the heavy matrix job with an if condition (a job skipped by a conditional is reported as success). Generated with the assistance of an AI coding tool. --- .github/workflows/ci.yml | 69 ++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33300778b4..b7a3dc0710 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,36 +2,48 @@ name: ci on: push: - paths: &ci_paths - - 'src/bcf/**' - - 'src/bsdd/**' - - 'src/examples/**' - - 'src/ifcblender/**' - - 'src/ifcconvert/**' - - 'src/ifcdiff/**' - - 'src/ifcgeom/**' - - 'src/ifcgeomserver/**' - - 'src/ifcmax/**' - - 'src/ifc5d/**' - - 'src/ifcedit/**' - - 'src/ifcmcp/**' - - 'src/ifcopenshell-python/**' - - '!src/ifcopenshell-python/docs/**' - - 'src/ifcparse/**' - - 'src/ifcpatch/**' - - 'src/ifcquery/**' - - 'src/ifctester/**' - - 'src/ifcwrap/**' - - 'src/svgfill/**' - - 'src/serializers/**' - - 'conda/**' - - 'cmake/**' - - 'test/**' - - '.github/workflows/ci.yml' pull_request: - paths: *ci_paths jobs: + changes: + runs-on: ubuntu-22.04 + outputs: + code: ${{ steps.filter.outputs.code }} + steps: + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + - uses: dorny/paths-filter@v4 + id: filter + with: + filters: | + code: + - 'src/bcf/**' + - 'src/bsdd/**' + - 'src/examples/**' + - 'src/ifcblender/**' + - 'src/ifcconvert/**' + - 'src/ifcdiff/**' + - 'src/ifcgeom/**' + - 'src/ifcgeomserver/**' + - 'src/ifcmax/**' + - 'src/ifc5d/**' + - 'src/ifcedit/**' + - 'src/ifcmcp/**' + - 'src/ifcopenshell-python/**' + - '!src/ifcopenshell-python/docs/**' + - 'src/ifcparse/**' + - 'src/ifcpatch/**' + - 'src/ifcquery/**' + - 'src/ifctester/**' + - 'src/ifcwrap/**' + - 'src/svgfill/**' + - 'src/serializers/**' + - 'conda/**' + - 'cmake/**' + - 'test/**' + - '.github/workflows/ci.yml' + activate: runs-on: ubuntu-22.04 if: | @@ -42,7 +54,8 @@ jobs: compile-and-test: runs-on: ubuntu-22.04 - needs: activate + needs: [activate, changes] + if: needs.changes.outputs.code == 'true' strategy: fail-fast: false matrix: