mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 17:04:32 +04:00
Add 'Add package' label when a new Makefile is added or 'Drop package' when a Makefile is deleted. Label PRs to OpenWrt 25.12 branch. Label CI-related PRs. Signed-off-by: George Sapkin <george@sapk.in>
74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
name: 'Pull Request Labeler'
|
|
on:
|
|
pull_request_target:
|
|
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
labeler:
|
|
name: Pull Request Labeler
|
|
runs-on: ubuntu-slim
|
|
steps:
|
|
- uses: actions/labeler@v6
|
|
with:
|
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
sync-labels: true
|
|
|
|
- name: Checkout PR code
|
|
uses: actions/checkout@v5
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
fetch-depth: 0
|
|
|
|
- name: Fetch base
|
|
run: git fetch origin ${{ github.event.pull_request.base.sha }}
|
|
|
|
- name: Check for PKG_VERSION changes
|
|
id: check_version
|
|
# Check for new packages (any Makefile with status 'A' - Added)
|
|
# Check for dropped packages (any Makefile with status 'D' - Deleted)
|
|
run: |
|
|
if git diff --name-only --diff-filter=A "${{ github.event.pull_request.base.sha }}"...HEAD -- '**/Makefile' | grep -q .; then
|
|
echo "New package detected."
|
|
echo "new_package=true" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
if git diff --name-only --diff-filter=D "${{ github.event.pull_request.base.sha }}"...HEAD -- '**/Makefile' | grep -q .; then
|
|
echo "Dropped package detected."
|
|
echo "dropped_package=true" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Add 'Add package' label
|
|
if: steps.check_version.outputs.new_package == 'true'
|
|
uses: buildsville/add-remove-label@v2.0.1
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
labels: "Add package"
|
|
type: add
|
|
|
|
- name: Remove 'Add package' label
|
|
if: steps.check_version.outputs.new_package != 'true'
|
|
uses: buildsville/add-remove-label@v2.0.1
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
labels: "Add package"
|
|
type: remove
|
|
|
|
- name: Add 'Drop package' label
|
|
if: steps.check_version.outputs.dropped_package == 'true'
|
|
uses: buildsville/add-remove-label@v2.0.1
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
labels: "Drop package"
|
|
type: add
|
|
|
|
- name: Remove 'Drop package' label
|
|
if: steps.check_version.outputs.dropped_package != 'true'
|
|
uses: buildsville/add-remove-label@v2.0.1
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
labels: "Drop package"
|
|
type: remove
|