Skip to content

CI: Newman + PHPUnit-on-NC-server fail because openbuilt register not seeded at app:enable #11

@rubenvdlinde

Description

@rubenvdlinde

Surfaces from the first CI run that actually reached the integration matrix (post-lockfile regen on PR #2).

Symptom

In every Newman + PHPUnit-on-NC-server job the Nextcloud app.log shows:

OpenBuilt: SeedHelloWorld failed
exception: Did expect one result but found none when executing: query
"SELECT * FROM \`*PREFIX*openregister_registers\` WHERE (\`uuid\` = :dcValue1) OR (LOWER(\`slug\`) = :dcValue2)";

…immediately during `occ app:enable openbuilt`. The subsequent Newman `GET /api/applications/hello-world/manifest` then returns 500 with `error=internal_error, correlationId=...` because the openbuilt register doesn't exist in OR — `InitializeSettings`'s `importFromApp()` returned `success: true` but no rows landed in `oc_openregister_registers`.

Hypothesis

InitializeSettings calls `ConfigurationService::importFromApp(force: true)` and reports success, but on a fresh CI install the OR schema/register migrations aren't yet applied when openbuilt is enabled in the same `occ app:enable openbuilt` invocation. Either:

  1. The repair-step transaction isn't committed before SeedHelloWorld runs, or
  2. `importFromApp` is silently returning a stale stub when the underlying tables aren't ready.

This is an integration-time issue, not a unit-test or quality-gate issue. PR #2 is mergeable today because the org-level ruleset on `development` enforces only PR review, not status checks.

Suggested next steps

  • Newman/Playwright seed command: pre-seed the openbuilt register via `occ openbuilt:reload-config` (if such a command exists) or call OR's import directly before `occ app:enable`.
  • Confirm `ConfigurationService::importFromApp` returns a meaningful empty result when the OR schema tables aren't initialised.
  • Consider deferring SeedHelloWorld to a post-migration repair-step that runs after OR's own migrations.

Surfaced post-merge of PR #2 / commit `7ffc1ad`. Follow-up to #10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions