Reduce errors when updating actions and workflows and hopefully stop silent failures for things --- #### Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [x] ⛔ No #### Type of change - [ ] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [x] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Test Plan - [x] 💪 Manual - [ ] ⚡ Unit test - [ ] 💚 E2E
61 lines
2.2 KiB
YAML
61 lines
2.2 KiB
YAML
name: Filechange Checker
|
|
|
|
on:
|
|
workflow_call:
|
|
outputs:
|
|
srcfileschanged:
|
|
description: "'true' if src/** or .github/workflows/** files have changed in the branch"
|
|
value: ${{ jobs.file-change-check.outputs.srcfileschanged }}
|
|
websitefileschanged:
|
|
description: "'true' if websites/** or .github/workflows/** files have changed in the branch"
|
|
value: ${{ jobs.file-change-check.outputs.websitefileschanged }}
|
|
|
|
jobs:
|
|
file-change-check:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
outputs:
|
|
srcfileschanged: ${{ steps.srcchecker.outputs.srcfileschanged }}
|
|
websitefileschanged: ${{ steps.websitechecker.outputs.websitefileschanged }}
|
|
actionsfileschanged: ${{ steps.actionschecker.outputs.actionsfileschanged }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
# only run CI tests if the src folder or workflow actions have changed
|
|
- name: Check for file changes in src/ or .github/workflows/
|
|
uses: dorny/paths-filter@v2
|
|
id: dornycheck
|
|
with:
|
|
list-files: json
|
|
filters: |
|
|
src:
|
|
- 'src/**'
|
|
website:
|
|
- 'website/**'
|
|
actions:
|
|
- '.github/workflows/**'
|
|
- '.github/actions/**'
|
|
|
|
- name: Check dorny for changes in src filepaths
|
|
id: srcchecker
|
|
if: steps.dornycheck.outputs.src == 'true' || steps.dornycheck.outputs.actions == 'true'
|
|
run: |
|
|
echo "src or workflow file changes occurred"
|
|
echo srcfileschanged=true >> $GITHUB_OUTPUT
|
|
|
|
- name: Check dorny for changes in website related filepaths
|
|
id: websitechecker
|
|
if: steps.dornycheck.outputs.src == 'true' || steps.dornycheck.outputs.website == 'true' || steps.dornycheck.outputs.actions == 'true'
|
|
run: |
|
|
echo "website or workflow file changes occurred"
|
|
echo websitefileschanged=true >> $GITHUB_OUTPUT
|
|
|
|
- name: Check dorny for changes in workflow filepaths
|
|
id: actionschecker
|
|
if: steps.dornycheck.outputs.actions == 'true'
|
|
run: |
|
|
echo "workflow file changes occurred"
|
|
echo actionsfileschanged=true >> $GITHUB_OUTPUT
|