Skip to content

[CI] test-migration: resolve google-auth / cloud_storage_google conflict (restore both migration gates)#106

Merged
dnplkndll merged 1 commit into
ledoentfrom
19.0-fix-ci-cryptography-pin
Jun 11, 2026
Merged

[CI] test-migration: resolve google-auth / cloud_storage_google conflict (restore both migration gates)#106
dnplkndll merged 1 commit into
ledoentfrom
19.0-fix-ci-cryptography-pin

Conversation

@dnplkndll

@dnplkndll dnplkndll commented Jun 4, 2026

Copy link
Copy Markdown

The break

Since #103 added google-auth (2026-06-03), every migration test dies before any script runs:

import OpenSSL → AttributeError: module 'lib' has no attribute 'X509_V_FLAG_NOTIFY_POLICY'

Root cause (catch-22)

Fix

Drop google-auth (revert to pip install geoip2), restoring Odoo 18's matched crypto stack so base loads. The per-PR OCA seed has no google-auth-dependent module, so this greens the per-PR test (and #105).

Follow-up (separate)

The enriched seed's cloud_storage_google/google_gmail still need google-auth installed against a cryptography compatible with Odoo 18's urllib3/pyopenssl — a runner-fragile version triple (cryptography 41.x + pyopenssl 24 + cffi<2), or drop those modules from the enriched seed. The enriched gate has in fact been red this whole window (cloud_storage_google, then crypto); restoring it is its own task and shouldn't block the per-PR migration test.

@dnplkndll dnplkndll force-pushed the 19.0-fix-ci-cryptography-pin branch from f729e23 to 8ca3a0a Compare June 4, 2026 13:03
@dnplkndll dnplkndll changed the title [CI] test-migration: pin cryptography/pyopenssl so google-auth can't break base [CI] test-migration: pin cryptography==41.0.7/pyopenssl==24.1.0 so google-auth can't break base Jun 4, 2026
@dnplkndll dnplkndll force-pushed the 19.0-fix-ci-cryptography-pin branch from 8ca3a0a to 4fb6da9 Compare June 4, 2026 13:12
@dnplkndll dnplkndll changed the title [CI] test-migration: pin cryptography==41.0.7/pyopenssl==24.1.0 so google-auth can't break base [CI] test-migration: drop google-auth (it breaks base via a cryptography bump) Jun 4, 2026
…onflict

google-auth requires cryptography>=38, which evicts Odoo's pinned cryptography==3.4.8
and desyncs the matched pyopenssl==21.0.0 / urllib3 1.26 stack (X509_V_FLAG_NOTIFY_POLICY
and hazmat.backends.openssl.x509 are gone in modern cryptography) → import OpenSSL fails,
base won't load, every migration run dies before a script executes. #103 added google-auth
on 2026-06-03 and silently broke this.

The only thing that needs google-auth is cloud_storage_google, whose 19.0 manifest declares
it as an external dependency (18.0 didn't). It's only in the enriched seed.

- Per-PR (test-migration.yml): drop google-auth — the OCA seed has no google-auth-dependent
  module, so this restores Odoo 18's matched crypto stack and greens the per-PR test.
- Enriched (test-migration-enriched.yml): drop google-auth AND mark cloud_storage_google
  uninstalled post-restore so OpenUpgrade skips it (nothing depends on it; its 18->19 change
  needs live Google config to exercise). Both halves keep cryptography untouched.

Restores both migration gates, which had been red since #103 (per-PR) and longer (enriched,
on cloud_storage_google's missing dep then the crypto break).
@dnplkndll dnplkndll changed the title [CI] test-migration: drop google-auth (it breaks base via a cryptography bump) [CI] test-migration: resolve google-auth / cloud_storage_google conflict (restore both migration gates) Jun 4, 2026
@dnplkndll dnplkndll force-pushed the 19.0-fix-ci-cryptography-pin branch from 4fb6da9 to c78b97a Compare June 4, 2026 13:32
@dnplkndll dnplkndll merged commit 58fb6e6 into ledoent Jun 11, 2026
4 checks passed
@dnplkndll dnplkndll deleted the 19.0-fix-ci-cryptography-pin branch June 11, 2026 12:15
dnplkndll added a commit that referenced this pull request Jun 11, 2026
…odel

event.stage isn't in the registry during event's pre-migration (KeyError
caught by the enriched gate's first post-#106 run); resolve the stage ids
from ir_model_data and delete the remapped stage + its imd row in SQL.
dnplkndll added a commit that referenced this pull request Jun 12, 2026
… PG lock limit (#109)

- the OCA 18.0 seed also carries cloud_storage_google: button_upgrade
  refuses on the missing google-auth external dep (same class #106 fixed
  for the enriched seed).
- the enriched migration now runs to completion and dies only in the
  final _process_end unlink sweep: out of shared memory at the default
  max_locks_per_transaction=64; raise to 1024 and restart the service.
dnplkndll added a commit that referenced this pull request Jun 14, 2026
…odel

event.stage isn't in the registry during event's pre-migration (KeyError
caught by the enriched gate's first post-#106 run); resolve the stage ids
from ir_model_data and delete the remapped stage + its imd row in SQL.
dnplkndll added a commit that referenced this pull request Jun 14, 2026
…onflict (#106)

google-auth requires cryptography>=38, which evicts Odoo's pinned cryptography==3.4.8
and desyncs the matched pyopenssl==21.0.0 / urllib3 1.26 stack (X509_V_FLAG_NOTIFY_POLICY
and hazmat.backends.openssl.x509 are gone in modern cryptography) → import OpenSSL fails,
base won't load, every migration run dies before a script executes. #103 added google-auth
on 2026-06-03 and silently broke this.

The only thing that needs google-auth is cloud_storage_google, whose 19.0 manifest declares
it as an external dependency (18.0 didn't). It's only in the enriched seed.

- Per-PR (test-migration.yml): drop google-auth — the OCA seed has no google-auth-dependent
  module, so this restores Odoo 18's matched crypto stack and greens the per-PR test.
- Enriched (test-migration-enriched.yml): drop google-auth AND mark cloud_storage_google
  uninstalled post-restore so OpenUpgrade skips it (nothing depends on it; its 18->19 change
  needs live Google config to exercise). Both halves keep cryptography untouched.

Restores both migration gates, which had been red since #103 (per-PR) and longer (enriched,
on cloud_storage_google's missing dep then the crypto break).
dnplkndll added a commit that referenced this pull request Jun 14, 2026
… PG lock limit (#109)

- the OCA 18.0 seed also carries cloud_storage_google: button_upgrade
  refuses on the missing google-auth external dep (same class #106 fixed
  for the enriched seed).
- the enriched migration now runs to completion and dies only in the
  final _process_end unlink sweep: out of shared memory at the default
  max_locks_per_transaction=64; raise to 1024 and restart the service.
dnplkndll added a commit that referenced this pull request Jun 16, 2026
…odel

event.stage isn't in the registry during event's pre-migration (KeyError
caught by the enriched gate's first post-#106 run); resolve the stage ids
from ir_model_data and delete the remapped stage + its imd row in SQL.
dnplkndll added a commit that referenced this pull request Jun 17, 2026
…odel

event.stage isn't in the registry during event's pre-migration (KeyError
caught by the enriched gate's first post-#106 run); resolve the stage ids
from ir_model_data and delete the remapped stage + its imd row in SQL.
dnplkndll added a commit that referenced this pull request Jun 19, 2026
…odel

event.stage isn't in the registry during event's pre-migration (KeyError
caught by the enriched gate's first post-#106 run); resolve the stage ids
from ir_model_data and delete the remapped stage + its imd row in SQL.
dnplkndll added a commit that referenced this pull request Jun 19, 2026
…onflict (#106)

google-auth requires cryptography>=38, which evicts Odoo's pinned cryptography==3.4.8
and desyncs the matched pyopenssl==21.0.0 / urllib3 1.26 stack (X509_V_FLAG_NOTIFY_POLICY
and hazmat.backends.openssl.x509 are gone in modern cryptography) → import OpenSSL fails,
base won't load, every migration run dies before a script executes. #103 added google-auth
on 2026-06-03 and silently broke this.

The only thing that needs google-auth is cloud_storage_google, whose 19.0 manifest declares
it as an external dependency (18.0 didn't). It's only in the enriched seed.

- Per-PR (test-migration.yml): drop google-auth — the OCA seed has no google-auth-dependent
  module, so this restores Odoo 18's matched crypto stack and greens the per-PR test.
- Enriched (test-migration-enriched.yml): drop google-auth AND mark cloud_storage_google
  uninstalled post-restore so OpenUpgrade skips it (nothing depends on it; its 18->19 change
  needs live Google config to exercise). Both halves keep cryptography untouched.

Restores both migration gates, which had been red since #103 (per-PR) and longer (enriched,
on cloud_storage_google's missing dep then the crypto break).
dnplkndll added a commit that referenced this pull request Jun 19, 2026
… PG lock limit (#109)

- the OCA 18.0 seed also carries cloud_storage_google: button_upgrade
  refuses on the missing google-auth external dep (same class #106 fixed
  for the enriched seed).
- the enriched migration now runs to completion and dies only in the
  final _process_end unlink sweep: out of shared memory at the default
  max_locks_per_transaction=64; raise to 1024 and restart the service.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant