Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions .github/workflows/build-python.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
name: Python CI

on:
pull_request:
paths-ignore:
- '**.md'
- '**.ipynb'
- 'myst.yml'
# Since this is a required check, specify paths-ignore in the check-paths job
# instead of under 'pull_request:'. Otherwise, the check is still required but
# never runs, and a maintainer must bypass the check in order to merge the PR.
on: [pull_request]

# Every time you make a push to your PR, it cancel immediately the previous checks,
# and start a new one. The other runner will be available more quickly to your PR.
Expand All @@ -14,7 +12,28 @@ concurrency:
cancel-in-progress: true

jobs:
# Check paths to changed files to see if any are non-ignored.
check-paths:
runs-on: ubuntu-latest
outputs:
should_run: ${{ steps.filter.outputs.relevant_changes }}
steps:
- name: Check modified files
id: filter
uses: dorny/paths-filter@v2
with:
filters: |
relevant_changes:
- '!**.md'
- '!**.ipynb'
- '!myst.yml'
- '**' # Match everything else

build:
# Only run build if relevant files have been modified in this PR.
needs: check-paths
if: needs.check-paths.outputs.should_run == 'true'

name: ${{ matrix.name }} ${{ matrix.build_type }} Python ${{ matrix.python_version }}
runs-on: ${{ matrix.os }}

Expand Down