Replace pydantic_plugin
in logfire.configure()
with logfire.instrument_pydantic()
#1371
Workflow file for this run
This file contains 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
name: CI | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '**' | |
pull_request: {} | |
env: | |
CI: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.8" | |
- uses: eifinger/setup-rye@v2.6 | |
- run: rye config --set-bool behavior.use-uv=true | |
- run: rye sync --no-lock | |
- run: make lint | |
- run: rye run pyright logfire tests | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
# we use uv directly here since I couldn't get rye to work with UV_EXTRA_INDEX_URL | |
# see https://github.com/pydantic/logfire/pull/12 | |
- run: pip install uv | |
- run: uv pip install --system -r requirements.lock -r requirements-dev.lock | |
- run: uv pip install --system -U mkdocs-material mkdocstrings-python griffe==0.48.0 | |
env: | |
UV_EXTRA_INDEX_URL: ${{ secrets.UV_EXTRA_INDEX_URL }} | |
- run: | | |
if [[ -n "${{ github.head_ref }}" && "${{ github.repository }}" != "${{ github.event.pull_request.head.repo.full_name }}" ]]; then | |
mkdocs build --no-strict | |
else | |
mkdocs build | |
fi | |
test: | |
name: test on ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
env: | |
PYTHON: ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Ensure requests to production domains fail | |
if: runner.os == 'Linux' | |
run: | | |
echo "203.0.113.0 logfire.dev" | sudo tee -a /etc/hosts | |
echo "203.0.113.0 logfire-api.pydantic.dev" | sudo tee -a /etc/hosts | |
echo "203.0.113.0 logfire.pydantic.dev" | sudo tee -a /etc/hosts | |
- name: set up python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: eifinger/setup-rye@v2.6 | |
- name: Pin python-version ${{ matrix.python-version }} | |
run: rye pin ${{ matrix.python-version }} | |
- run: rye config --set-bool behavior.use-uv=true | |
# Update all dependencies to the latest version possible | |
- run: rye sync --update-all | |
- run: | | |
pip install uv | |
uv pip install "logfire-api @ file://logfire-api" | |
- run: rye show | |
- run: mkdir coverage | |
- run: make test | |
env: | |
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }} | |
- name: store coverage files | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.python-version }} | |
path: coverage | |
include-hidden-files: true | |
coverage: | |
runs-on: ubuntu-latest | |
needs: [test] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: get coverage files | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
path: coverage | |
- run: pip install coverage[toml] | |
- run: ls -lh coverage | |
- run: coverage combine coverage | |
- run: coverage xml | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
env_vars: PYTHON | |
- run: coverage report --fail-under 100 | |
# https://github.com/marketplace/actions/alls-green#why used for branch protection checks | |
check: | |
if: always() | |
needs: [lint, docs, test, coverage] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} | |
release: | |
needs: [check] | |
if: "success() && startsWith(github.ref, 'refs/tags/')" | |
runs-on: ubuntu-latest | |
environment: release | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: set up python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: check GITHUB_REF matches package version | |
uses: samuelcolvin/check-python-version@v4.1 | |
with: | |
version_file_path: pyproject.toml | |
- uses: eifinger/setup-rye@v2 | |
- run: rye config --set-bool behavior.use-uv=true | |
- run: rye build | |
- name: Publish logfire to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
skip-existing: true | |
- name: Build logfire-api | |
run: rye build | |
working-directory: logfire-api/ | |
- name: Publish logfire-api to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
packages-dir: logfire-api/dist | |
verbose: true |