diff --git a/.github/component_owners.yml b/.github/component_owners.yml index 3aeb90b297..1e89d59567 100644 --- a/.github/component_owners.yml +++ b/.github/component_owners.yml @@ -73,3 +73,4 @@ components: - lzchen - gyliu513 - nirga + - codefromthecrypt diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 01c598f7f1..86a2375f1f 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -102,9 +102,9 @@ jobs: - name: Publish to PyPI env: TWINE_USERNAME: '__token__' - TWINE_PASSWORD: ${{ secrets.test_pypi_token }} + TWINE_PASSWORD: ${{ secrets.pypi_password }} run: | - twine upload --repository testpypi --skip-existing --verbose dist/* + twine upload --skip-existing --verbose dist/* - name: Generate release notes env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 964d6f93df..7d7b18edc8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,14 +81,13 @@ jobs: # rejected by pypi (e.g "3 - Beta"). This would cause a failure during the # middle of the package upload causing the action to fail, and certain packages # might have already been updated, this would be bad. - # EDIT: 5/31/2024 - TestPypi now requires a verified email. Commenting out as a temporary measure - # until we found TestPypi credentials. - # - name: Publish to TestPyPI - # env: - # TWINE_USERNAME: '__token__' - # TWINE_PASSWORD: ${{ secrets.test_pypi_token }} - # run: | - # twine upload --repository testpypi --skip-existing --verbose dist/* + + - name: Publish to TestPyPI + env: + TWINE_USERNAME: '__token__' + TWINE_PASSWORD: ${{ secrets.test_pypi_token }} + run: | + twine upload --repository testpypi --skip-existing --verbose dist/* - name: Publish to PyPI env: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a0cdbfa8ec..633a356c40 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -68,6 +68,7 @@ You can run `tox` with the following arguments: Python version * `tox -e spellcheck` to run a spellcheck on all the code * `tox -e lint-some-package` to run lint checks on `some-package` +* `tox -e generate-workflows` to run creation of new CI workflows if tox environments have been updated * `tox -e ruff` to run ruff linter and formatter checks against the entire codebase `ruff check` and `ruff format` are executed when `tox -e ruff` is run. We strongly recommend you to configure [pre-commit](https://pre-commit.com/) locally to run `ruff` automatically before each commit by installing it as git hooks. You just need to [install pre-commit](https://pre-commit.com/#install) in your environment: @@ -297,6 +298,7 @@ When updating the minimum supported Python version remember to: - Remove the version in `pyproject.toml` trove classifiers - Remove the version from `tox.ini` +- Update github workflows accordingly with `tox -e generate-workflows` - Search for `sys.version_info` usage and remove code for unsupported versions - Bump `py-version` in `.pylintrc` for Python version dependent checks @@ -306,6 +308,6 @@ When adding support for a new Python release remember to: - Add the version in `tox.ini` - Add the version in `pyproject.toml` trove classifiers -- Update github workflows accordingly; lint and benchmarks use the latest supported version +- Update github workflows accordingly with `tox -e generate-workflows`; lint and benchmarks use the latest supported version - Update `.pre-commit-config.yaml` - Update tox examples in the documentation diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/cassettes/test_chat_completion_404.yaml b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/cassettes/test_chat_completion_404.yaml index ae00c6ef70..0782cba71d 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/cassettes/test_chat_completion_404.yaml +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/cassettes/test_chat_completion_404.yaml @@ -24,7 +24,7 @@ interactions: host: - api.openai.com user-agent: - - OpenAI/Python 1.26.0 + - OpenAI/Python 1.54.3 x-stainless-arch: - arm64 x-stainless-async: @@ -34,7 +34,9 @@ interactions: x-stainless-os: - MacOS x-stainless-package-version: - - 1.26.0 + - 1.54.3 + x-stainless-retry-count: + - '0' x-stainless-runtime: - CPython x-stainless-runtime-version: @@ -56,13 +58,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-RAY: - - 8dd0709dffd19c8c-SIN + - 8e0ca7056be15f93-SIN Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - - Mon, 04 Nov 2024 00:20:44 GMT + - Mon, 11 Nov 2024 07:43:38 GMT Server: - cloudflare Set-Cookie: test_set_cookie @@ -80,7 +82,7 @@ interactions: vary: - Origin x-request-id: - - req_e08854c4f7d5104af6fdc755caed30fc + - req_75175efff56c313161c136c479e082ac status: code: 404 message: Not Found diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py index 84a9bf2692..899b2f122c 100644 --- a/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py +++ b/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/conftest.py @@ -161,7 +161,7 @@ def deserialize(cassette_string): return yaml.load(cassette_string, Loader=yaml.Loader) -@pytest.fixture(scope="module") +@pytest.fixture(scope="module", autouse=True) def fixture_vcr(vcr): vcr.register_serializer("yaml", PrettyPrintJSONBody) return vcr