Improve unit test path filtering rules (#2052)

* Improve path-filtering rules on unit test action

See docs about how jobs that are skipped still report "success", which
is necessary for jobs that are required to succeed based on branch
protection rules.

https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution

* Code must be checked out for paths-filter to run

* Only run on default pull request events

Defaults are that it will run when a PR is opened, reopened, or
synchronized (new commits pushed).
This commit is contained in:
Josh Mock
2023-11-02 11:16:39 -05:00
committed by GitHub
parent 96d0adb715
commit 2d139e512b

View File

@ -2,31 +2,36 @@
name: Node CI
on:
push:
paths-ignore:
- '**/*.md'
- '**/*.asciidoc'
- '**/*.txt'
- 'docs/**'
- '.ci/**'
- '.buildkite/**'
- 'scripts/**'
- 'catalog-info.yaml'
pull_request:
paths-ignore:
- '**/*.md'
- '**/*.asciidoc'
- '**/*.txt'
- 'docs/**'
- '.ci/**'
- '.buildkite/**'
- 'scripts/**'
- 'catalog-info.yaml'
pull_request: {}
jobs:
paths-filter:
name: Detect files changed
runs-on: ubuntu-latest
outputs:
skip: '${{ steps.changes.outputs.skip }}'
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter/@v2.11.1
id: changes
with:
filters: |
skip:
- '**/*.md'
- '**/*.asciidoc'
- '**/*.txt'
- 'docs/**'
- '.ci/**'
- '.buildkite/**'
- 'scripts/**'
- 'catalog-info.yaml'
test:
name: Test
runs-on: ${{ matrix.os }}
needs: paths-filter
# only run if files not in `skip` filter were changed
if: needs.paths-filter.outputs.skip != 'true'
strategy:
fail-fast: false
@ -35,7 +40,7 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3