brian
8e47ebf4c6
Merge pull request '[patch] Fix MinIO get_object response leak in MinioAdapter.get()' ( #32 ) from fix/minio-get-object-response-cleanup into main
...
Release on merge to main / release (push) Successful in 14s
Test Python Package / unit-tests (push) Successful in 15s
Code Quality Pipeline / code-quality (push) Successful in 47s
Test Python Package / integration-tests (push) Successful in 54s
Test Python Package / coverage-report (push) Successful in 15s
Reviewed-on: brian/python-repositories#32
2026-07-07 21:37:04 +02:00
Brian Bjarke Jensen and Cursor
9a800bf553
Fetch live PR title in pr-title-check CI workflow.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 24s
Test Python Package / integration-tests (pull_request) Successful in 1m18s
Test Python Package / unit-tests (pull_request) Successful in 1m24s
Test Python Package / coverage-report (pull_request) Successful in 12s
PR Title Check / check-title (pull_request) Successful in 6s
Rerunning the job now reads the current title from the Gitea API instead of the stale pull_request event payload.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 21:34:18 +02:00
Brian Bjarke Jensen and Cursor
8c34534187
Fix MinIO get_object response leak in MinioAdapter.get().
...
Test Python Package / integration-tests (pull_request) Successful in 27s
Code Quality Pipeline / code-quality (pull_request) Successful in 31s
Test Python Package / unit-tests (pull_request) Successful in 36s
Test Python Package / coverage-report (pull_request) Successful in 53s
PR Title Check / check-title (pull_request) Failing after 5s
Close and release the HTTP response in a finally block per SDK guidance, and add unit tests for success and read-failure cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 21:21:42 +02:00
brian
b1210bddf2
Merge pull request 'Reach 100% combined coverage with targeted unit tests' ( #31 ) from cursor/balanced-100-coverage into main
...
Test Python Package / coverage-report (push) Successful in 45s
Test Python Package / unit-tests (push) Successful in 14s
Code Quality Pipeline / code-quality (push) Successful in 33s
Release on merge to main / release (push) Successful in 36s
Test Python Package / integration-tests (push) Successful in 23s
Reviewed-on: brian/python-repositories#31
2026-07-07 21:05:51 +02:00
Brian Bjarke Jensen and Cursor
39b104383c
Fix mypy unreachable-code warning in minio reconnect test.
...
PR Title Check / check-title (pull_request) Successful in 7s
Test Python Package / coverage-report (pull_request) Successful in 12s
Code Quality Pipeline / code-quality (pull_request) Successful in 48s
Test Python Package / unit-tests (pull_request) Successful in 19s
Test Python Package / integration-tests (pull_request) Successful in 28s
Drop bucket_name assertions that mypy treated as always false after manually clearing _bucket_name.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 21:04:39 +02:00
Brian Bjarke Jensen and Cursor
beb2b5128e
Reach 100% combined coverage with targeted unit tests.
...
Code Quality Pipeline / code-quality (pull_request) Failing after 29s
Test Python Package / integration-tests (pull_request) Successful in 35s
Test Python Package / unit-tests (pull_request) Successful in 42s
PR Title Check / check-title (pull_request) Successful in 52s
Test Python Package / coverage-report (pull_request) Successful in 12s
Add fast unit tests for lazy-import helpers and injected-client connect paths that integration tests miss, and raise the coverage floor to 100%.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 21:01:03 +02:00
brian
ce062be411
Merge pull request 'Enforce 90% combined coverage floor in CI' ( #29 ) from cursor/enforce-coverage-floor into main
...
Release on merge to main / release (push) Successful in 5s
Test Python Package / unit-tests (push) Successful in 19s
Test Python Package / integration-tests (push) Successful in 25s
Code Quality Pipeline / code-quality (push) Successful in 48s
Test Python Package / coverage-report (push) Successful in 12s
Reviewed-on: brian/python-repositories#29
2026-07-07 20:41:44 +02:00
Brian Bjarke Jensen and Cursor
a381d45650
Lower combined coverage floor from 95% to 90%.
...
PR Title Check / check-title (pull_request) Successful in 4s
Code Quality Pipeline / code-quality (pull_request) Successful in 24s
Test Python Package / unit-tests (pull_request) Successful in 36s
Test Python Package / integration-tests (pull_request) Successful in 48s
Test Python Package / coverage-report (pull_request) Successful in 12s
Update fail_under in pyproject.toml and the README to match.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 20:39:08 +02:00
Brian Bjarke Jensen and Cursor
5c8cd841b6
Document where combined coverage floor is enforced in CI.
...
Test Python Package / unit-tests (pull_request) Successful in 13s
Code Quality Pipeline / code-quality (pull_request) Successful in 26s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / integration-tests (pull_request) Successful in 1m7s
Test Python Package / coverage-report (pull_request) Failing after 15s
Clarify that unit and integration jobs skip the floor check because they only produce partial coverage.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 20:34:54 +02:00
Brian Bjarke Jensen and Cursor
34632980ba
Skip coverage floor check in partial CI test jobs.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 48s
Test Python Package / integration-tests (pull_request) Successful in 47s
Test Python Package / coverage-report (pull_request) Failing after 15s
PR Title Check / check-title (pull_request) Successful in 5s
Test Python Package / unit-tests (pull_request) Successful in 21s
Unit and integration jobs each produce partial coverage; pytest-cov reads fail_under from pyproject.toml unless overridden with --cov-fail-under=0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 20:33:21 +02:00
Brian Bjarke Jensen and Cursor
5393efc6cd
Enforce a 95% combined coverage floor in CI and local runs.
...
Test Python Package / unit-tests (pull_request) Failing after 56s
Code Quality Pipeline / code-quality (pull_request) Successful in 1m36s
Test Python Package / integration-tests (pull_request) Failing after 1m14s
Test Python Package / coverage-report (pull_request) Has been skipped
PR Title Check / check-title (pull_request) Successful in 35s
Configure fail_under in pyproject.toml and read it in the coverage-report workflow so the threshold stays in one place.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 20:27:39 +02:00
brian
e39fc96ac1
Merge pull request 'Split CI into parallel unit, integration, and coverage report jobs' ( #28 ) from cursor/split-ci-test-jobs into main
...
Code Quality Pipeline / code-quality (push) Successful in 23s
Test Python Package / coverage-report (push) Successful in 10s
Release on merge to main / release (push) Successful in 6s
Test Python Package / unit-tests (push) Successful in 13s
Test Python Package / integration-tests (push) Successful in 22s
Reviewed-on: brian/python-repositories#28
2026-07-07 19:37:27 +02:00
Brian Bjarke Jensen and Cursor
c1f4826d78
Use christopherhx v4 artifact actions for parallel coverage merge.
...
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / unit-tests (pull_request) Successful in 18s
Code Quality Pipeline / code-quality (pull_request) Successful in 24s
Test Python Package / integration-tests (pull_request) Successful in 46s
Test Python Package / coverage-report (pull_request) Successful in 16s
Restore per-job coverage uploads while keeping unit and integration jobs parallel on Gitea 1.26.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 19:35:19 +02:00
Brian Bjarke Jensen and Cursor
0315a33a3b
Avoid cross-job artifacts; combine coverage with --cov-append.
...
PR Title Check / check-title (pull_request) Successful in 4s
Test Python Package / unit-tests (pull_request) Successful in 10s
Code Quality Pipeline / code-quality (pull_request) Successful in 24s
Test Python Package / integration-tests (pull_request) Successful in 20s
Test Python Package / coverage-report (pull_request) Successful in 24s
Gitea artifact download is unreliable with v3 actions, so the report job re-runs both suites on one runner after parallel test gates pass.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 19:27:26 +02:00
Brian Bjarke Jensen and Cursor
5d33ec6091
Use artifact action v3 for Gitea Actions compatibility.
...
PR Title Check / check-title (pull_request) Successful in 5s
Code Quality Pipeline / code-quality (pull_request) Successful in 24s
Test Python Package / unit-tests (pull_request) Successful in 22s
Test Python Package / integration-tests (pull_request) Successful in 32s
Test Python Package / coverage-report (pull_request) Failing after 3m18s
Gitea does not support upload-artifact/download-artifact v4 yet.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 19:17:57 +02:00
Brian Bjarke Jensen and Cursor
9538e4d26d
Split CI into parallel unit, integration, and coverage report jobs.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 32s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / unit-tests (pull_request) Successful in 1m28s
Test Python Package / integration-tests (pull_request) Successful in 56s
Test Python Package / coverage-report (pull_request) Failing after 11s
Run test jobs in parallel and merge coverage artifacts for an accurate full-suite PR report.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 22:02:35 +02:00
brian
14b8d2798c
Merge pull request 'Replace hardcoded version examples in release docs' ( #27 ) from cursor/fix-version-doc-drift into main
...
Test Python Package / test (push) Successful in 52s
Code Quality Pipeline / code-quality (push) Successful in 46s
Release on merge to main / release (push) Successful in 7s
Reviewed-on: brian/python-repositories#27
2026-07-06 21:37:34 +02:00
Brian Bjarke Jensen and Cursor
d3cbb65bbc
Use version-agnostic examples in release docs.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 46s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 1m21s
Replace hardcoded semver examples with stable placeholders and point readers to pyproject.toml for the current version.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 21:25:50 +02:00
CI Bot
7dbb1fc8ab
chore: release v0.5.0 [skip ci]
v0.5.0
2026-07-06 18:51:47 +00:00
brian
918e5e6ba4
Merge pull request '[minor] Add config and client injection with test reorganization' ( #25 ) from cursor/config-client-injection into main
...
Code Quality Pipeline / code-quality (push) Successful in 31s
Release on merge to main / release (push) Successful in 14s
Test Python Package / test (push) Successful in 57s
Reviewed-on: brian/python-repositories#25
2026-07-06 20:51:01 +02:00
Brian Bjarke Jensen and Cursor
3aa91280ec
Load MINIO_SECURE from env and replace adapter asserts with explicit errors.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 32s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 57s
Default TLS to enabled for production MinIO setups while keeping local and integration tests on plain HTTP via explicit secure=false configuration.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 20:45:37 +02:00
Brian Bjarke Jensen and Cursor
7991dabdbc
Add config and client injection with test reorganization.
...
Introduce typed config objects, optional adapter injection, and .env loading to simplify testing while preserving env-based defaults for production usage.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-06 20:44:08 +02:00
brian
366831ac52
Merge pull request 'chore(deps): update dependencies' ( #26 ) from renovate/auto-deps-update into main
...
Code Quality Pipeline / code-quality (push) Successful in 34s
Release on merge to main / release (push) Successful in 6s
Test Python Package / test (push) Successful in 47s
Reviewed-on: brian/python-repositories#26
2026-07-06 20:42:20 +02:00
CI Bot
a98905daa7
chore(deps): update dependencies [automated]
Code Quality Pipeline / code-quality (pull_request) Successful in 46s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 52s
2026-07-06 03:00:36 +00:00
brian
7ed1b34233
Merge pull request 'Sync uv.lock on release to prevent CI failures' ( #24 ) from cursor/sync-uv-lock-on-release into main
...
Code Quality Pipeline / code-quality (push) Successful in 46s
Release on merge to main / release (push) Successful in 6s
Test Python Package / test (push) Successful in 1m18s
Reviewed-on: brian/python-repositories#24
2026-07-05 20:27:29 +02:00
Brian Bjarke Jensen
3236f27610
manually updated package version
PR Title Check / check-title (pull_request) Successful in 5s
Test Python Package / test (pull_request) Successful in 1m12s
Code Quality Pipeline / code-quality (pull_request) Successful in 47s
2026-07-05 20:19:33 +02:00
Brian Bjarke Jensen and Cursor
ac487d91f8
Sync uv.lock on release to keep CI clean.
...
Code Quality Pipeline / code-quality (pull_request) Failing after 49s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 1m9s
Run uv lock during version bumps and commit the lockfile in the release workflow.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 20:06:35 +02:00
CI Bot
a049ce327c
chore: release v0.4.1 [skip ci]
v0.4.1
2026-07-05 14:16:33 +00:00
brian
7b4cf8421b
Merge pull request '[patch] Extract shared connection lifecycle into ConnectionAwareAdapter' ( #23 ) from cursor/extract-connection-aware-adapter into main
...
Code Quality Pipeline / code-quality (push) Successful in 47s
Release on merge to main / release (push) Successful in 9s
Test Python Package / test (push) Successful in 1m7s
Reviewed-on: brian/python-repositories#23
2026-07-05 16:15:34 +02:00
Brian Bjarke Jensen and Cursor
b5a92e6222
Sync uv.lock with pyproject.toml version 0.4.0.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 31s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 48s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 16:11:23 +02:00
Brian Bjarke Jensen and Cursor
7b950e0d93
Extract shared connection lifecycle into ConnectionAwareAdapter.
...
Move duplicated context-manager, health-check cache, and connection guards from Redis and Minio adapters into an internal base class.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 16:09:25 +02:00
CI Bot
fe0c477dff
chore: release v0.4.0 [skip ci]
v0.4.0
2026-07-05 13:41:59 +00:00
brian
e7e0fc8c1d
Merge pull request '[minor] Strengthen is_connected with cached health probes' ( #22 ) from cursor/strengthen-is-connected-health-checks into main
...
Code Quality Pipeline / code-quality (push) Successful in 50s
Release on merge to main / release (push) Successful in 8s
Test Python Package / test (push) Successful in 1m12s
Reviewed-on: brian/python-repositories#22
2026-07-05 15:41:00 +02:00
Brian Bjarke Jensen and Cursor
34fc046868
Sync uv.lock with pyproject.toml version 0.3.2.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 31s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 58s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 15:38:49 +02:00
Brian Bjarke Jensen and Cursor
5149299c1b
Strengthen is_connected with cached health probes.
...
Code Quality Pipeline / code-quality (pull_request) Failing after 35s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 1m9s
Convert is_connected to a method that verifies backend liveness via TTL-cached ping (Redis) or bucket_exists (MinIO), with cache invalidation on connect/disconnect.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-05 15:28:25 +02:00
CI Bot
fef9552cbf
chore: release v0.3.2 [skip ci]
v0.3.2
2026-06-30 14:12:18 +00:00
brian
e9b21895f4
Merge pull request '[patch] Fix optional dependency handling for Redis and MinIO adapters' ( #19 ) from cursor/fix-optional-dependencies into main
...
Code Quality Pipeline / code-quality (push) Successful in 31s
Release on merge to main / release (push) Successful in 8s
Test Python Package / test (push) Successful in 37s
Reviewed-on: brian/python-repositories#19
2026-06-30 16:08:01 +02:00
Brian Bjarke Jensen and Cursor
f5953906c1
Fix optional-deps import test for full-suite execution.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 31s
PR Title Check / check-title (pull_request) Successful in 5s
Test Python Package / test (pull_request) Successful in 41s
Run the base-import assertion in a subprocess so integration tests do not pollute sys.modules.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-30 16:05:41 +02:00
Brian Bjarke Jensen and Cursor
1f02195c27
Delegate top-level adapter imports to adapters package.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 47s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Failing after 1m1s
Keep lazy loading in adapters/__init__.py as the single place to register new adapters.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-30 15:57:52 +02:00
Brian Bjarke Jensen and Cursor
f092ca2022
Fix trailing whitespace in LICENSE and .gitignore.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 37s
PR Title Check / check-title (pull_request) Successful in 5s
Test Python Package / test (pull_request) Failing after 47s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-30 15:48:01 +02:00
Brian Bjarke Jensen and Cursor
c6eed43d70
Fix optional dependency handling for Redis and MinIO adapters.
...
Lazy-load adapters at package boundaries and fail fast with install hints when extras are missing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-30 15:47:04 +02:00
brian
9e4b1e2c5e
Merge pull request 'Avoid testcontainers Redis deprecation warning in integration tests.' ( #18 ) from fix/redis-testcontainer-deprecation into main
...
Code Quality Pipeline / code-quality (push) Successful in 31s
Release on merge to main / release (push) Successful in 6s
Test Python Package / test (push) Successful in 43s
Reviewed-on: brian/python-repositories#18
2026-06-29 15:04:39 +02:00
Brian Bjarke Jensen and Cursor
0096df78a5
Avoid testcontainers Redis deprecation warning in integration tests.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 47s
PR Title Check / check-title (pull_request) Successful in 5s
Test Python Package / test (pull_request) Successful in 52s
Use a local RedisTestContainer with wait strategies instead of the deprecated RedisContainer, and keep conftest focused on fixtures.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-29 15:00:45 +02:00
brian
3073bfbf50
Merge pull request 'Fix PR coverage comment posting in CI.' ( #17 ) from fix/coverage-pr-comment into main
...
Code Quality Pipeline / code-quality (push) Successful in 36s
Release on merge to main / release (push) Successful in 5s
Test Python Package / test (push) Successful in 47s
Reviewed-on: brian/python-repositories#17
2026-06-29 11:37:34 +02:00
Brian Bjarke Jensen and Cursor
30a1de32e8
Fix PR coverage comment posting in CI.
...
Test Python Package / test (pull_request) Successful in 48s
Code Quality Pipeline / code-quality (pull_request) Successful in 31s
PR Title Check / check-title (pull_request) Successful in 5s
Build the Gitea API payload with json.dumps so multiline coverage output is valid JSON, and fail the step when the API rejects the request.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 23:46:49 +02:00
brian
8465957976
Merge pull request '[patch] update dependencies' ( #16 ) from renovate/auto-deps-update into main
...
Test Python Package / test (push) Successful in 47s
Code Quality Pipeline / code-quality (push) Successful in 30s
Release on merge to main / release (push) Failing after 7s
Reviewed-on: brian/python-repositories#16
2026-06-28 23:46:13 +02:00
Brian Bjarke Jensen
3ecb9c3136
chore: retrigger CI
Code Quality Pipeline / code-quality (pull_request) Successful in 46s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 47s
2026-06-28 23:41:02 +02:00
Brian Bjarke Jensen and Cursor
0f31170209
Fix mypy errors from minio 7.2.20 type stubs.
...
Code Quality Pipeline / code-quality (pull_request) Successful in 36s
PR Title Check / check-title (pull_request) Failing after 6s
Test Python Package / test (pull_request) Successful in 43s
Guard bucket_name before Minio API calls, update S3Error test mocks for the new constructor signature, and add types-redis to the pre-commit mypy hook.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 23:32:31 +02:00
CI Bot
e3cab5e0b6
chore(deps): update dependencies [automated]
Code Quality Pipeline / code-quality (pull_request) Failing after 22s
PR Title Check / check-title (pull_request) Successful in 6s
Test Python Package / test (pull_request) Successful in 1m3s
2026-06-28 21:22:26 +00:00
brian
f428a974f6
Merge pull request 'Fix dependency bot PR creation for Gitea.' ( #15 ) from cursor/fix-dependency-bot-gitea-pr into main
...
Code Quality Pipeline / code-quality (push) Successful in 31s
Release on merge to main / release (push) Successful in 6s
Test Python Package / test (push) Successful in 57s
Reviewed-on: brian/python-repositories#15
2026-06-28 22:56:14 +02:00