| version: 2 |
| mergeable: |
| - when: pull_request.* |
| name: Add 'c_glib' label to PR if changeset includes changes to the lib/c_glib, test/c_glib, or tutorial/c_glib directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/c_glib/.*' |
| - must_include: |
| regex: 'test/c_glib/.*' |
| - must_include: |
| regex: 'tutorial/c_glib/.*' |
| pass: |
| - do: labels |
| labels: ['c_glib'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'c++' label to PR if changeset includes changes to the lib/cpp, test/cpp, or tutorial/cpp directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/cpp/.*' |
| - must_include: |
| regex: 'test/cpp/.*' |
| - must_include: |
| regex: 'tutorial/cpp/.*' |
| pass: |
| - do: labels |
| labels: ['c++'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'dart' label to PR if changeset includes changes to the lib/dart, test/dart, or tutorial/dart directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/dart/.*' |
| - must_include: |
| regex: 'test/dart/.*' |
| - must_include: |
| regex: 'tutorial/dart/.*' |
| pass: |
| - do: labels |
| labels: ['dart'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'delphi' label to PR if changeset includes changes to the lib/delphi, test/delphi, or tutorial/delphi directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/delphi/.*' |
| - must_include: |
| regex: 'test/delphi/.*' |
| - must_include: |
| regex: 'tutorial/delphi/.*' |
| pass: |
| - do: labels |
| labels: ['delphi'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'erlang' label to PR if changeset includes changes to the lib/erl, test/erl, or tutorial/erl directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/erl/.*' |
| - must_include: |
| regex: 'test/erl/.*' |
| - must_include: |
| regex: 'tutorial/erl/.*' |
| pass: |
| - do: labels |
| labels: ['erlang'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'golang' label to PR if changeset includes changes to the lib/go, test/go, or tutorial/go directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/go/.*' |
| - must_include: |
| regex: 'test/go/.*' |
| - must_include: |
| regex: 'tutorial/go/.*' |
| pass: |
| - do: labels |
| labels: ['golang'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'haxe' label to PR if changeset includes changes to the lib/haxe, test/haxe, or tutorial/haxe directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/haxe/.*' |
| - must_include: |
| regex: 'test/haxe/.*' |
| - must_include: |
| regex: 'tutorial/haxe/.*' |
| pass: |
| - do: labels |
| labels: ['haxe'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'java' label to PR if changeset includes changes to the lib/java, lib/javame, or tutorial/java directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/java/.*' |
| - must_include: |
| regex: 'lib/javame/.*' |
| - must_include: |
| regex: 'tutorial/java/.*' |
| pass: |
| - do: labels |
| labels: ['java'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'javascript' label to PR if changeset includes changes to the lib/js or tutorial/js directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/js/.*' |
| - must_include: |
| regex: 'tutorial/js/.*' |
| pass: |
| - do: labels |
| labels: ['javascript'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'json' label to PR if changeset includes changes to the lib/json directory |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/json/.*' |
| pass: |
| - do: labels |
| labels: ['json'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'kotlin' label to PR if changeset includes changes to the lib/kotlin directory |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/kotlin/.*' |
| pass: |
| - do: labels |
| labels: ['kotlin'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'lua' label to PR if changeset includes changes to the lib/lua or test/lua directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/lua/.*' |
| - must_include: |
| regex: 'test/lua/.*' |
| pass: |
| - do: labels |
| labels: ['lua'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'c#' label to PR if changeset includes changes to the lib/netstd, test/netstd, or tutorial/netstd directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/netstd/.*' |
| - must_include: |
| regex: 'test/netstd/.*' |
| - must_include: |
| regex: 'tutorial/netstd/.*' |
| pass: |
| - do: labels |
| labels: ['c#'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'nodejs' label to PR if changeset includes changes to the lib/nodejs or tutorial/nodejs directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/nodejs/.*' |
| - must_include: |
| regex: 'tutorial/nodejs/.*' |
| pass: |
| - do: labels |
| labels: ['nodejs'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'typescript' label to PR if changeset includes changes to the lib/nodets or lib/ts directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/nodets/.*' |
| - must_include: |
| regex: 'lib/ts/.*' |
| pass: |
| - do: labels |
| labels: ['typescript'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'ocaml' label to PR if changeset includes changes to the lib/ocaml, test/ocaml, or tutorial/ocaml directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/ocaml/.*' |
| - must_include: |
| regex: 'test/ocaml/.*' |
| - must_include: |
| regex: 'tutorial/ocaml/.*' |
| pass: |
| - do: labels |
| labels: ['ocaml'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'perl' label to PR if changeset includes changes to the lib/perl, test/perl, or tutorial/perl directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/perl/.*' |
| - must_include: |
| regex: 'test/perl/.*' |
| - must_include: |
| regex: 'tutorial/perl/.*' |
| pass: |
| - do: labels |
| labels: ['perl'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'php' label to PR if changeset includes changes to the lib/php, test/php, or tutorial/php directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/php/.*' |
| - must_include: |
| regex: 'test/php/.*' |
| - must_include: |
| regex: 'tutorial/php/.*' |
| pass: |
| - do: labels |
| labels: ['php'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'python' label to PR if changeset includes changes to the lib/py, test/py, test/py.tornado, test/py.twisted, tutorial/py, tutorial/py.tornado, or tutorial/py.twisted directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/py/.*' |
| - must_include: |
| regex: 'test/py/.*' |
| - must_include: |
| regex: 'test/py.tornado/.*' |
| - must_include: |
| regex: 'test/py.twisted/.*' |
| - must_include: |
| regex: 'tutorial/py/.*' |
| - must_include: |
| regex: 'tutorial/py.tornado/.*' |
| - must_include: |
| regex: 'tutorial/py.twisted/.*' |
| pass: |
| - do: labels |
| labels: ['python'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'ruby' label to PR if changeset includes changes to the lib/rb, test/rb, or tutorial/rb directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/rb/.*' |
| - must_include: |
| regex: 'test/rb/.*' |
| - must_include: |
| regex: 'tutorial/rb/.*' |
| pass: |
| - do: labels |
| labels: ['ruby'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'rust' label to PR if changeset includes changes to the lib/rs, test/rs, or tutorial/rs directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/rs/.*' |
| - must_include: |
| regex: 'test/rs/.*' |
| - must_include: |
| regex: 'tutorial/rs/.*' |
| pass: |
| - do: labels |
| labels: ['rust'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'swift' label to PR if changeset includes changes to the lib/swift, test/swift, or tutorial/swift directories |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: 'lib/swift/.*' |
| - must_include: |
| regex: 'test/swift/.*' |
| - must_include: |
| regex: 'tutorial/swift/.*' |
| pass: |
| - do: labels |
| labels: ['swift'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'compiler' label to PR if changeset includes changes to the compiler/cpp directory |
| validate: |
| - do: changeset |
| must_include: |
| regex: 'compiler/cpp/.*' |
| pass: |
| - do: labels |
| labels: ['compiler'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'testsuite' label to PR if changeset includes changes to shared test schemas, fixtures, or harnesses |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: '^test/[^/]+\.thrift$' |
| - must_include: |
| regex: '^test/(Makefile|Makefile\.am|Makefile\.in|README\.md|index\.html|known_failures_Linux\.json|rebuild_known_failures\.sh|result\.js|results\.json|test\.py|tests\.json|valgrind\.suppress)$' |
| - must_include: |
| regex: '^test/(audit|crossrunner|features|keys|log|partial|threads|v0\.16)/.*' |
| pass: |
| - do: labels |
| labels: ['testsuite'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'build and general CI' label to PR if changeset includes changes to CMake, automake, or build system files |
| validate: |
| - do: changeset |
| or: |
| - must_include: |
| regex: '(^|.*/)CMakeLists\.txt$' |
| - must_include: |
| regex: '.*\.cmake$' |
| - must_include: |
| regex: '(^|.*/)Makefile\.am$' |
| - must_include: |
| regex: '(^|.*/)Makefile\.in$' |
| - must_include: |
| regex: '(^|.*/)configure\.ac$' |
| - must_include: |
| regex: '^bootstrap\.sh$' |
| - must_include: |
| regex: '^aclocal$' |
| - must_include: |
| regex: '^aclocal\.m4$' |
| - must_include: |
| regex: '^build/.*' |
| - must_include: |
| regex: '^build-docker/.*' |
| - must_include: |
| regex: '^debian/.*' |
| - must_include: |
| regex: '^appveyor\.yml$' |
| - must_include: |
| regex: '^sonar-project\.properties$' |
| pass: |
| - do: labels |
| labels: ['build and general CI'] |
| mode: 'add' |
| |
| - when: pull_request.* |
| name: Add 'github_actions' label to PR if changeset includes changes to the .github/workflows directory |
| validate: |
| - do: changeset |
| must_include: |
| regex: '.github/workflows/.*' |
| pass: |
| - do: labels |
| labels: ['github_actions'] |
| mode: 'add' |