mirror of
https://github.com/hwchase17/langchain.git
synced 2026-01-25 14:35:49 +00:00
108 lines
3.1 KiB
YAML
108 lines
3.1 KiB
YAML
# PR title linting.
|
||
#
|
||
# FORMAT (Conventional Commits 1.0.0):
|
||
#
|
||
# <type>[optional scope]: <description>
|
||
# [optional body]
|
||
# [optional footer(s)]
|
||
#
|
||
# Examples:
|
||
# feat(core): add multi‐tenant support
|
||
# fix(cli): resolve flag parsing error
|
||
# docs: update API usage examples
|
||
# docs(openai): update API usage examples
|
||
#
|
||
# Allowed Types:
|
||
# * feat — a new feature (MINOR)
|
||
# * fix — a bug fix (PATCH)
|
||
# * docs — documentation only changes (either in /docs or code comments)
|
||
# * style — formatting, linting, etc.; no code change or typing refactors
|
||
# * refactor — code change that neither fixes a bug nor adds a feature
|
||
# * perf — code change that improves performance
|
||
# * test — adding tests or correcting existing
|
||
# * build — changes that affect the build system/external dependencies
|
||
# * ci — continuous integration/configuration changes
|
||
# * chore — other changes that don't modify source or test files
|
||
# * revert — reverts a previous commit
|
||
# * release — prepare a new release
|
||
#
|
||
# Allowed Scopes (optional):
|
||
# core, cli, langchain, langchain_v1, langchain_legacy, standard-tests,
|
||
# text-splitters, docs, anthropic, chroma, deepseek, exa, fireworks, groq,
|
||
# huggingface, mistralai, nomic, ollama, openai, perplexity, prompty, qdrant,
|
||
# xai, infra
|
||
#
|
||
# Rules:
|
||
# 1. The 'Type' must start with a lowercase letter.
|
||
# 2. Breaking changes: append "!" after type/scope (e.g., feat!: drop x support)
|
||
# 3. When releasing (updating the pyproject.toml and uv.lock), the commit message
|
||
# should be: `release(scope): x.y.z` (e.g., release(core): 1.2.0)
|
||
#
|
||
# Enforces Conventional Commits format for pull request titles to maintain a clear and
|
||
# machine-readable change history.
|
||
|
||
name: "🏷️ PR Title Lint"
|
||
|
||
permissions:
|
||
pull-requests: read
|
||
|
||
on:
|
||
pull_request:
|
||
types: [opened, edited, synchronize]
|
||
|
||
jobs:
|
||
# Validates that PR title follows Conventional Commits 1.0.0 specification
|
||
lint-pr-title:
|
||
name: "validate format"
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: "✅ Validate Conventional Commits Format"
|
||
uses: amannn/action-semantic-pull-request@v6
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
with:
|
||
types: |
|
||
feat
|
||
fix
|
||
docs
|
||
style
|
||
refactor
|
||
perf
|
||
test
|
||
build
|
||
ci
|
||
chore
|
||
revert
|
||
release
|
||
scopes: |
|
||
core
|
||
cli
|
||
langchain
|
||
langchain_v1
|
||
langchain_legacy
|
||
standard-tests
|
||
text-splitters
|
||
docs
|
||
anthropic
|
||
chroma
|
||
deepseek
|
||
exa
|
||
fireworks
|
||
groq
|
||
huggingface
|
||
mistralai
|
||
nomic
|
||
ollama
|
||
openai
|
||
perplexity
|
||
prompty
|
||
qdrant
|
||
xai
|
||
infra
|
||
requireScope: false
|
||
disallowScopes: |
|
||
release
|
||
[A-Z]+
|
||
ignoreLabels: |
|
||
ignore-lint-pr-title
|