Skip to content

ci: accept the Pipedrive v2 revision that documents the list limit bounds - #247

Merged
nickmazurenko merged 2 commits into
developfrom
ci/pipedrive-limit-bounds
Oct 7, 2026
Merged

nickmazurenko merged 2 commits into
developfrom
ci/pipedrive-limit-bounds

Conversation

@nickmazurenko

Copy link
Copy Markdown
Contributor

Pipedrive published a new v2 OpenAPI document after yesterday's refresh (247982f0), so every PR's qore_tests job fails in setup-app-schemas.sh with Unreviewed pipedrive CI input (see #246).

Review

Diffed against the previously reviewed supported surface (the copy Qorus ships in app-schemas/pipedrive/schema.json, fingerprint a0f0dc…):

  • v1: byte-identical to the pin. The only v1 differences against that Sep 30 surface are the optional nullable lead archive_reason additions accepted on Oct 5 (0d3967…).
  • v2 (the new change): minimum: 1 and maximum: 500 added to the limit query parameter of the six list operations — activities, deals, organizations, persons, projects, tasks. Nothing removed, renamed or retyped.

The catalogue's client (apps/pipedrive/helpers/client.ts) has rejected a limit outside 1 to 500 since the migration, so the revision documents behaviour the catalogue already had.

Change

  • test/docker_test/app-schema-inputs.json: v2 source digest 7e9b92d0…, bundle digest e0034795… (recomputed locally; equals CI's received value).
  • ts/src/schema-cache/app-compatibility.json: fingerprint f4dd9f83… added; the two previous revisions retained.
  • ts/src/tests/pipedrive-migration.test.ts: the bounds survive normalization on all six operations, changing a bound changes the fingerprint, and the client refuses 0 and 501.
  • Release note under v8 2.2.

Verification

  • Migration suite 15/15; download-app-schema-inputs.test.cjs passes.
  • test/docker_test/setup-app-schemas.sh run locally against the rebuilt catalogue: downloads, verifies the new pins, imports and qualifies all eight apps including Pipedrive.
  • tools/refresh-app-schemas.qr check --app pipedrive in the Qorus repo: the schema Qorus ships still qualifies, since its fingerprint is retained. Moving Qorus's shipped copy to this revision is a separate, optional step.

…unds

Pipedrive's published v2 document changed again after yesterday's refresh, so
the download step refused it (bundle digest e0034795…, v2 digest 7e9b92d0…),
and the supported-surface fingerprint it yields (f4dd9f83…) was not
allow-listed, so the catalogue refused it too.

Compared against the previously reviewed supported surface, the revision
adds `minimum: 1` and `maximum: 500` to the `limit` query parameter of the
six v2 list operations (activities, deals, organizations, persons, projects,
tasks); v1 is byte-identical. Nothing is removed, renamed or retyped, and
the catalogue's client has rejected a limit outside 1 to 500 since the
migration, so the published bound documents behaviour the catalogue already
had.

Accept the reviewed fingerprint while retaining the two previous compatible
revisions, refresh CI's exact v2 source and bundle checksums, and cover the
bounds in the migration tests: they survive normalization on every list
operation, changing a bound changes the fingerprint, and the client refuses
0 and 501. The CI qualification script passes locally against the rebuilt
catalogue, and the schema that Qorus ships still qualifies.
CI's "Test catalogue actions" step runs `yarn test-build`, which type-checks
the tests, and it has failed on develop since the toolkit's converter type
gained a context argument and its where-conditions type was narrowed to
`{exp, args}`: the Trello test called the converter with one argument, and the
Pipedrive test passes a deliberately unsupported legacy where shape. The last
green run of the step was Sep 17, before the schema migrations; develop is
pushed without PRs, so the step had not run since.

Give the converter the context the type requires, which it ignores, and
declare the legacy where shape as outside the type, which is the point of
that assertion. Both suites still pass.
@nickmazurenko
nickmazurenko merged commit 620311e into develop Oct 7, 2026
4 checks passed
@nickmazurenko
nickmazurenko deleted the ci/pipedrive-limit-bounds branch October 7, 2026 11:54
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