Repository navigation
ci: accept the Pipedrive v2 revision that documents the list limit bounds - #247
Merged
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pipedrive published a new v2 OpenAPI document after yesterday's refresh (
247982f0), so every PR'sqore_testsjob fails insetup-app-schemas.shwithUnreviewed pipedrive CI input(see #246).Review
Diffed against the previously reviewed supported surface (the copy Qorus ships in
app-schemas/pipedrive/schema.json, fingerprinta0f0dc…):archive_reasonadditions accepted on Oct 5 (0d3967…).minimum: 1andmaximum: 500added to thelimitquery 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 alimitoutside 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 digest7e9b92d0…, bundle digeste0034795…(recomputed locally; equals CI's received value).ts/src/schema-cache/app-compatibility.json: fingerprintf4dd9f83…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 refuses0and501.Verification
download-app-schema-inputs.test.cjspasses.test/docker_test/setup-app-schemas.shrun 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 pipedrivein 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.