Repository navigation
Missing Tag Assignment - #1
Merged
Merged
Conversation
Contributor
|
Thanks for the fix! |
Contributor
Author
|
That's fine but you didn't merge my PR! |
Contributor
|
I see that, one sec. |
ewood-ac
added a commit
that referenced
this pull request
Aug 11, 2026
This is the half of "a pipeline that reports the truth" that was still missing. The single phpunit testsuite was NAMED "unit" and contained all of tests/ -- 17 of 18 test classes hit the live Postmark API. With no tokens configured, every one of those constructors threw "Argument #1 ($serverToken) must be of type string, null given", so the suite reported 79 ERRORS. That is indistinguishable in CI from 79 real regressions, which is why php81 has been red on main since 2025-10 with nothing but a description-string URL change behind it: a genuine break had nowhere left to show up. PostmarkClientBaseTest now skips with a message instead, in both setUp and setUpBeforeClass -- both are needed, because a few subclasses build a client in their own setUpBeforeClass, which runs first. TestingKeys gains hasAnyCredentials() (BASE_URL excluded deliberately: it has a default and is present even with no tokens, so counting it would report "configured" for an environment that cannot call the API). Two subclasses overrode setUpBeforeClass without chaining to parent, so they read whatever an earlier test class happened to leave in the shared static $testKeys -- order-dependent, and latent even with credentials. They chain now. The testsuites are split for real: `unit` is the credential-free file, `integration` is the live-API set. composer test runs unit (the gate that can actually be green), test:integration runs the rest. displayDetailsOnSkippedTests is on so a skipped run prints why 17 times rather than just "No tests executed!". CI: the per-version jobs run the credential-free suite, so a red php84 means the code is broken on 8.4. Integration is its own unchained job -- chaining php82->83->84->85 is what hid three versions' results behind one failure. Verified both directions: no credentials -> exit 0, 5 passed, 17 classes skipped with the reason stated; WRITE_TEST_SERVER_TOKEN set -> the skip lifts and the integration tests really run (and fail against a fake token, as they should). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
No description provided.