mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 12:13:43 +00:00
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.
This commit is contained in:
+41
-28
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user