From fe7560066c41c031aff1b9c77d21b273d25b5d66 Mon Sep 17 00:00:00 2001 From: Don Kendall Date: Thu, 11 Jun 2026 10:49:31 -0400 Subject: [PATCH] [CI] gates: neutralize cloud_storage_google in the plain seed + raise PG lock limit - 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. --- .github/workflows/test-migration-enriched.yml | 8 ++++++++ .github/workflows/test-migration.yml | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/.github/workflows/test-migration-enriched.yml b/.github/workflows/test-migration-enriched.yml index 707d3822adf6..2d2f828728e1 100644 --- a/.github/workflows/test-migration-enriched.yml +++ b/.github/workflows/test-migration-enriched.yml @@ -69,6 +69,14 @@ jobs: sudo apt-get update -qq sudo apt-get install -y postgresql-client-16 echo "/usr/lib/postgresql/16/bin" >> $GITHUB_PATH + - name: Raise Postgres lock limit + # the 226-module _process_end unlink sweep exhausts the default 64 + # max_locks_per_transaction ("out of shared memory" at the end of an + # otherwise complete migration) + run: | + psql -d postgres -c "ALTER SYSTEM SET max_locks_per_transaction = 1024" + docker restart ${{ job.services.postgres.id }} + until pg_isready -h localhost -U odoo; do sleep 1; done - name: DB Creation run: createdb $DB - name: DB Restore (enriched seed) diff --git a/.github/workflows/test-migration.yml b/.github/workflows/test-migration.yml index 13b936f19d0b..0bde5f306eb0 100644 --- a/.github/workflows/test-migration.yml +++ b/.github/workflows/test-migration.yml @@ -59,6 +59,11 @@ jobs: run: | wget -q -O- $DOWNLOADS/18.0.psql | pg_restore -d $DB --no-owner psql $DB -c "UPDATE ir_module_module SET demo=False" + # cloud_storage_google gains a hard google-auth dependency in 19.0, + # and google-auth's cryptography>=38 breaks Odoo 18's pinned + # pyopenssl/urllib3 stack (same neutralization as the enriched + # gate); nothing depends on it, so skip it. + psql $DB -c "UPDATE ir_module_module SET state='uninstalled' WHERE name = 'cloud_storage_google'" - name: Check out Odoo uses: actions/checkout@v4 with: