Skip to content

Use a CS10-based CI image#7771

Draft
dralley wants to merge 2 commits into
pulp:mainfrom
dralley:cs10-ci
Draft

Use a CS10-based CI image#7771
dralley wants to merge 2 commits into
pulp:mainfrom
dralley:cs10-ci

Conversation

@dralley

@dralley dralley commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread pyproject.toml
"pulp-glue>=0.30.0,<0.40",
"pygtrie>=2.5,<=2.5.0",
"psycopg[binary]>=3.1.8,<3.4", # SemVer, not explicitely stated, but mentioned on multiple changes.
"psycopg[binary]>=3.3.4,<3.4", # SemVer, not explicitely stated, but mentioned on multiple changes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does cs10 require a bump in this requirement?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The lowerbounds PR runner was failing because psycopg[binary] didn't have pre-built wheels for Python 3.12

With that said the lowerbounds probably does not need to be bumped this much and we can relax it if we need to, I just wanted to move past that issue.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OTOH, pip installs are sticky so users will never get an upgrade unless we bump the minimum bound. Might be worth just doing it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we cannot test it we should most definitely bump it.

@dralley dralley marked this pull request as draft June 4, 2026 17:05
@dralley dralley force-pushed the cs10-ci branch 2 times, most recently from 860e44f to fe02e8c Compare June 22, 2026 17:26
The test_async_pull_through_add test needed transaction=True because
sync_to_async runs on a thread pool worker with a separate DB connection
that can't see the main thread's uncommitted savepoint data.

Using TransactionTestCase exposed two additional issues:
- The base Repository has CONTENT_TYPES = [], so the task failed with
  "unsupported content types". Patch CONTENT_TYPES on the class so the
  re-fetched repo instance in the task also sees it.
- TransactionTestCase teardown calls flush which emits post_migrate
  signals, but Django's emit_post_migrate_signal doesn't pass the
  `apps` kwarg. Made all four post_migrate handlers accept apps=None
  with a fallback to django.apps.apps.
- After flush, the global default_domain cache is stale (old PK no
  longer in DB). Clear it in _ensure_default_domain so the domain is
  re-created, preventing FK violations in subsequent handlers.

Also mock redis_tasks.async_are_resources_available for runners that
use WORKER_TYPE=redis, where the dispatch path bypasses the postgres
advisory lock code entirely and tries to connect to Redis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants