Skip to content

Commit

Permalink
Use github wf to add module labels for PR based on file changes
Browse files Browse the repository at this point in the history
  • Loading branch information
pseudo-nymous committed Jan 30, 2025
1 parent 204c39f commit 7974a76
Show file tree
Hide file tree
Showing 2 changed files with 156 additions and 0 deletions.
133 changes: 133 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# This file defines module label mappings for the Lucene project.
# Each module is associated with a set of file globs that, when matched,
# will trigger the corresponding label to be applied to pull requests.
#
# This configuration is used by the workflow defined in .github/workflows/label-pull-request.yml.
# If we are adding new labels or refactoring modules, we will need to modify this file globs here to ensure that the correct labels are applied.

# For more information on how to define globs, visit: https://github.com/actions/labeler

module:analysis:
- changed-files:
- any-glob-to-any-file: 'lucene/analysis/**'

module:benchmark:
- changed-files:
- any-glob-to-any-file: 'lucene/benchmark/**'

module:classification:
- changed-files:
- any-glob-to-any-file: 'lucene/classification/**'

module:core/codecs:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/codecs/**', 'lucene/core/src/test/org/apache/lucene/codecs/**']

module:core/FSTs:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/util/fst/**', 'lucene/core/src/test/org/apache/lucene/util/fst/**']

module:core/hnsw:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/util/hnsw/**', 'lucene/core/src/test/org/apache/lucene/util/hnsw/**']

module:core/index:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/index/**', 'lucene/core/src/test/org/apache/lucene/index/**']

module:core/search:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/search/**', 'lucene/core/src/test/org/apache/lucene/search/**']

module:core/store:
- changed-files:
- any-glob-to-any-file: ['lucene/core/src/java/org/apache/lucene/store/**', 'lucene/core/src/test/org/apache/lucene/store/**']

module:core/other:
- changed-files:
- any-glob-to-any-file: ['lucene/core/**']
- all-globs-to-all-files:
- '!lucene/core/src/java/org/apache/lucene/codecs/**'
- '!lucene/core/src/test/org/apache/lucene/codecs/**'
- '!lucene/core/src/java/org/apache/lucene/util/fst/**'
- '!lucene/core/src/test/org/apache/lucene/util/fst/**'
- '!lucene/core/src/java/org/apache/lucene/util/hnsw/**'
- '!lucene/core/src/test/org/apache/lucene/util/hnsw/**'
- '!lucene/core/src/java/org/apache/lucene/index/**'
- '!lucene/core/src/test/org/apache/lucene/index/**'
- '!lucene/core/src/java/org/apache/lucene/search/**'
- '!lucene/core/src/test/org/apache/lucene/search/**'
- '!lucene/core/src/java/org/apache/lucene/store/**'
- '!lucene/core/src/test/org/apache/lucene/store/**'

module:demo:
- changed-files:
- any-glob-to-any-file: 'lucene/demo/**'

module:expressions:
- changed-files:
- any-glob-to-any-file: 'lucene/expressions/**'

module:facet:
- changed-files:
- any-glob-to-any-file: 'lucene/facet/**'

module:grouping:
- changed-files:
- any-glob-to-any-file: 'lucene/grouping/**'

module:highlighter:
- changed-files:
- any-glob-to-any-file: 'lucene/highlighter/**'

module:join:
- changed-files:
- any-glob-to-any-file: 'lucene/join/**'

module:luke:
- changed-files:
- any-glob-to-any-file: 'lucene/luke/**'

module:misc:
- changed-files:
- any-glob-to-any-file: 'lucene/misc/**'

module:monitor:
- changed-files:
- any-glob-to-any-file: 'lucene/monitor/**'

module:queries:
- changed-files:
- any-glob-to-any-file: 'lucene/queries/**'

module:queryparser:
- changed-files:
- any-glob-to-any-file: 'lucene/queryparser/**'

module:replicator:
- changed-files:
- any-glob-to-any-file: 'lucene/replicator/**'

module:sandbox:
- changed-files:
- any-glob-to-any-file: 'lucene/sandbox/**'

module:spatial:
- changed-files:
- any-glob-to-any-file: ['lucene/spatial-test-fixtures/**']

module:spatial3d:
- changed-files:
- any-glob-to-any-file: 'lucene/spatial3d/**'

module:spatial-extras:
- changed-files:
- any-glob-to-any-file: 'lucene/spatial-extras/**'

module:suggest:
- changed-files:
- any-glob-to-any-file: 'lucene/suggest/**'

module:test-framework:
- changed-files:
- any-glob-to-any-file: 'lucene/test-framework/**'
23 changes: 23 additions & 0 deletions .github/workflows/label-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This file defines the workflow for labeling pull requests with module tags based on the changed files in the PR.
# It uses the `actions/labeler` GitHub Action to achieve the same.
#
# The workflow is triggered on the `pull_request_target` event which ensures workflow is only run from the master branch.
# The job `labeler` runs on `ubuntu-latest` and has permissions to read contents and write pull requests.
#
# For more information on the `actions/labeler` GitHub Action, refer to https://github.com/actions/labeler

name: "Pull Request Labeler"
run-name: Labelling pull request with module tags based on changed files in the PR
on:
- pull_request_target

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
sync-labels: true

0 comments on commit 7974a76

Please sign in to comment.