From 07b5405cdb5aa25bfe85ca326efac2b72a6ac440 Mon Sep 17 00:00:00 2001 From: naman9271 Date: Sun, 16 Nov 2025 01:29:32 +0530 Subject: [PATCH] labeler workflow added --- .github/labeler.yml | 56 ++++++++++++++++++++++++++++++++++ .github/workflows/labeler.yml | 57 +++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 00000000..23765483 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,56 @@ +# Label PRs based on the paths of files being changed + +'documentation': + - '**/*.md' + - 'docs/**/*' + +'dependencies': + - '**/composer.json' + - '**/composer.lock' + - '**/package.json' + - '**/package-lock.json' + +'frontend': + - 'css/**/*' + - 'js/**/*' + - 'img/**/*' + - 'fonts/**/*' + - '**/*.css' + - '**/*.js' + - '**/*.html' + +'backend': + - 'openml_OS/**/*.php' + - 'system/**/*' + +'database': + - 'data/sql/**/*' + - '**/*.sql' + +'docker': + - 'docker/**/*' + - 'Dockerfile' + - 'docker-compose.yml' + +'ci/cd': + - '.github/**/*' + +'api': + - 'openapi/**/*' + - '**/*swagger*' + - '**/api/**/*' + +'security': + - '**/security/**/*' + - '.github/workflows/security.yml' + +'tests': + - '**/*test*' + - '**/*spec*' + +'configuration': + - '**/*.conf' + - '**/*.config' + - '**/*.yaml' + - '**/*.yml' + - '**/*.json' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 00000000..9cc1a7d0 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,57 @@ +# This workflow automatically labels pull requests based on the files changed +# +# Labels help organize and categorize PRs for easier review and tracking. +# The labeling rules are defined in .github/labeler.yml + +name: 'Auto Label PRs' + +on: + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read + pull-requests: write + +jobs: + label: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Run Labeler + uses: actions/labeler@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + configuration-path: .github/labeler.yml + sync-labels: true + + size-label: + runs-on: ubuntu-latest + permissions: + pull-requests: write + + steps: + - name: Add Size Labels + uses: codelytv/pr-size-labeler@v1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + xs_label: 'size/xs' + xs_max_size: 10 + s_label: 'size/s' + s_max_size: 100 + m_label: 'size/m' + m_max_size: 500 + l_label: 'size/l' + l_max_size: 1000 + xl_label: 'size/xl' + fail_if_xl: false + message_if_xl: > + This PR is extremely large. Consider splitting it into smaller PRs for easier review. + files_to_ignore: | + package-lock.json + composer.lock + *.min.js + *.min.css