From d6dcb516f15feb04f0ff4085420dd57eb5da2e8d Mon Sep 17 00:00:00 2001 From: c-bata Date: Tue, 29 Sep 2026 13:24:32 +0900 Subject: [PATCH] Add automatic PR labeling and release note categories --- .github/labeler.yml | 38 ++++++++++++++++ .github/release.yml | 83 +++++++++++++++++++++++++++++++++++ .github/workflows/labeler.yml | 22 ++++++++++ 3 files changed, 143 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/release.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 00000000..34cfc9a4 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,38 @@ +rustuna_core: + - changed-files: + - any-glob-to-any-file: rustuna_core/** + +rustuna_sampler: + - changed-files: + - any-glob-to-any-file: rustuna_sampler/** + +rustuna_storage: + - changed-files: + - any-glob-to-any-file: rustuna_storage/** + +rustuna_importance: + - changed-files: + - any-glob-to-any-file: rustuna_importance/** + +python: + - changed-files: + - any-glob-to-any-file: rustuna_pyo3/** + +javascript: + - changed-files: + - any-glob-to-any-file: rustuna_js/** + +docs: + - changed-files: + - any-glob-to-any-file: + - docs/** + - '**/*.md' + - .readthedocs.yml + +ci: + - changed-files: + - any-glob-to-any-file: + - .github/workflows/** + - .github/dependabot.yml + - .github/labeler.yml + - .github/release.yml diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 00000000..c5639b30 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,83 @@ +changelog: + categories: + # Categories are ordered by priority. Exclusions keep a PR with several + # area labels in only its highest-priority category. + - title: Rustuna Core + labels: + - rustuna_core + - title: Rustuna Samplers + labels: + - rustuna_sampler + exclude: + labels: + - rustuna_core + - title: Rustuna Storage + labels: + - rustuna_storage + exclude: + labels: + - rustuna_core + - rustuna_sampler + - title: Importance Evaluation + labels: + - rustuna_importance + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - title: Python API + labels: + - python + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - rustuna_importance + - title: JavaScript API + labels: + - javascript + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - rustuna_importance + - python + - title: Documentation + labels: + - docs + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - rustuna_importance + - python + - javascript + - title: Development & CI + labels: + - ci + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - rustuna_importance + - python + - javascript + - docs + - title: Other Changes + labels: + - '*' + exclude: + labels: + - rustuna_core + - rustuna_sampler + - rustuna_storage + - rustuna_importance + - python + - javascript + - docs + - ci diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 00000000..2be21833 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,22 @@ +name: Pull Request Labeler + +on: + pull_request_target: + branches: + - main + types: + - opened + - synchronize + - reopened + +jobs: + labeler: + runs-on: ubuntu-latest + permissions: + contents: read + issues: write + pull-requests: write + steps: + - uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0 + with: + sync-labels: true