Skip to content

Build and test against the oldest server surface the core claims to support #88

Description

@iderex

The target gate runs a check reported as ABI floor build. It exists because a
build against a newer software development kit compiles fine while using a member
that does not exist on the oldest server the plugin claims to support, and the
failure then appears at sign-in on somebody's real server rather than in the
gate.

The same trap exists here in a different shape. The core talks to a server over
its interface rather than linking against it, so the failure is a request to an
endpoint an older server does not have, or a response field that arrived in a
later version, and it appears the same way: at sign-in on somebody's real server.

The deviation and its reason: the floor is a server interface version rather than
a linked library version, so the check runs the suite against fixtures recorded
from the oldest supported server rather than compiling against pinned libraries.

What this produces

A fixture set per supported server line, recorded from real servers of that line.

A gate leg running the suite against the oldest line's fixtures, so that a
dependency on something newer reddens the pull request that introduced it.

A stated rule for what happens when a newer line offers something better, which
is the missing-endpoint rule from #10 rather than a second code path.

Done when

The oldest supported line has a full fixture set, the gate runs the suite against
it, and a deliberate use of a newer endpoint without the fallback from #10
reddens that leg. Blocked on entry 3 of #1, and on #10 and #21.

Metadata

Metadata

Assignees

Labels

blocked-on-decisionWaits on an entry of #1 that is not answered yetblocked-on-issueWaits on another open issue on this boardcitests

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions