Files
slsDetectorPackage/.github/workflows/pr_edit_trigger.yaml
T
2026-08-28 16:18:14 +02:00

83 lines
2.1 KiB
YAML

# test branch
name: PR Edit Trigger
on:
pull_request:
types:
- opened
- reopened
- edited
- labeled
- unlabeled
permissions:
pull-requests: write
contents: read
jobs:
check-pr-trigger:
name: Check PR Trigger
runs-on: ubuntu-latest
outputs:
require_validation: ${{ steps.check.outputs.require_validation }}
steps:
- name: Check whether PR Validation is required
id: check
uses: actions/github-script@v8
with:
script: |
/*
* If triggered by label change, ignore unrelated labels.
*/
const action = context.payload.action;
if (action === 'labeled' || action === 'unlabeled') {
const changedLabel = context.payload.label?.name;
const relevantLabels = [
'Feature',
'Bug Fix',
'Infrastructure',
'Breaking API'
];
if (!relevantLabels.includes(changedLabel)) {
core.info(
`Ignoring unrelated label change: ${changedLabel}`
);
core.setOutput('require_validation', 'false');
return;
}
}
core.info('PR type validation required.');
core.setOutput('require_validation', 'true');
validate-pr-type:
needs: check-pr-trigger
if: ${{ needs.check-pr-trigger.outputs.require_validation == 'true' }}
uses: ./.github/workflows/pr_type_validation.yaml
with:
pr_number: ${{ github.event.pull_request.number }}
permissions:
pull-requests: write
contents: read
milestone:
needs: validate-pr-type
uses: ./.github/workflows/pr_milestone.yaml
with:
pr_number: ${{ github.event.pull_request.number }}
permissions:
pull-requests: write
contents: read
detector-labels:
needs: validate-pr-type
uses: ./.github/workflows/pr_detector_labels.yaml
with:
pr_number: ${{ github.event.pull_request.number }}
permissions:
pull-requests: write
issues: read