feat(langchain): add ChatAnthropic support to langchain instrumentation #800
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This action requires that any PR targeting the main branch should add a | |
| # changelog fragment file in a .changelog/ directory under the affected | |
| # package. If a changelog entry is not required, add the "Skip Changelog" | |
| # label to disable this action. | |
| name: changelog | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, labeled, unlabeled] | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| jobs: | |
| changelog: | |
| runs-on: ubuntu-latest | |
| if: >- | |
| ${{ | |
| !contains(github.event.pull_request.labels.*.name, 'dependencies') && | |
| !contains(github.event.pull_request.labels.*.name, 'Skip Changelog') | |
| }} | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| fetch-depth: 0 | |
| - name: Fetch base branch | |
| run: git fetch origin ${{ github.base_ref }} --depth=1 | |
| - name: Ensure no direct changes to CHANGELOG.md | |
| run: | | |
| if [[ $(git diff --name-only FETCH_HEAD -- '**/CHANGELOG.md') ]] | |
| then | |
| echo "CHANGELOG.md files should not be directly modified." | |
| echo "Please add a changelog fragment file to the affected package's .changelog/ directory instead." | |
| echo "See CONTRIBUTING.md for details." | |
| echo "" | |
| echo "Or add the \"Skip Changelog\" label if this job should be skipped." | |
| false | |
| fi | |
| - name: Check for changelog fragment | |
| env: | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| run: | | |
| fragments=$(git diff --diff-filter=A --name-only FETCH_HEAD -- '**/.changelog/*' | grep -v '/\.gitignore$' || true) | |
| if [[ -z "$fragments" ]]; then | |
| echo "No changelog fragment found for this PR." | |
| echo "" | |
| echo "Add a file named <package>/.changelog/${PR_NUMBER}.<type>" | |
| echo "where <type> is one of: added, changed, deprecated, removed, fixed" | |
| echo "" | |
| echo "See CONTRIBUTING.md for details." | |
| echo "" | |
| echo "Or add the \"Skip Changelog\" label if this job should be skipped." | |
| exit 1 | |
| fi | |
| invalid=() | |
| while IFS= read -r f; do | |
| base=$(basename "$f") | |
| if [[ ! "$base" =~ ^([0-9]+)\.(added|changed|deprecated|removed|fixed)$ ]]; then | |
| invalid+=("$f (expected <PR_NUMBER>.<type>; type one of added, changed, deprecated, removed, fixed)") | |
| continue | |
| fi | |
| if [[ "${BASH_REMATCH[1]}" != "${PR_NUMBER}" ]]; then | |
| invalid+=("$f (PR number ${BASH_REMATCH[1]} does not match this PR's number ${PR_NUMBER})") | |
| fi | |
| done <<< "$fragments" | |
| if (( ${#invalid[@]} > 0 )); then | |
| echo "Invalid changelog fragment(s):" | |
| for msg in "${invalid[@]}"; do | |
| echo " $msg" | |
| done | |
| exit 1 | |
| fi | |
| echo "Found changelog fragment(s):" | |
| echo "$fragments" | |
| - name: Set up Python | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 | |
| with: | |
| python-version: "3.14" | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 | |
| - name: Preview changelogs | |
| run: | | |
| set -eu | |
| for pkg in instrumentation/* util/opentelemetry-util-genai; do | |
| [ -f "$pkg/pyproject.toml" ] || continue | |
| grep -q "tool.towncrier" "$pkg/pyproject.toml" || continue | |
| echo "=== $pkg ===" | |
| (cd "$pkg" && uvx --from towncrier==25.8.0 towncrier build --draft --version Unreleased) | |
| done |