Repository navigation
A server image loads what it serves - #12
Merged
Merged
Conversation
BaselineOfHOP declared no groups, so Metacello's default group was every package there is - and apptive-common asks for this baseline without naming one. HOP-Core-Tests, HOP-Extra-Tests and HOP-Roassal therefore travelled into apptive-base, apptive-account and apptive-metabase, none of which serve any of them. Checked in image [a]: it carries HOP-Core-Tests and HOP-Roassal today. Test classes in a deployed image are not idle. AGTestRunnerHandler hangs under #health in two of those servers and runs the whole suite of any TestCase class it is asked for, which is how a test could empty the Canopy tree a running server serves - the same finding, from the other end. HOP-Roassal does not belong there twice over: it names RSTreeLayout and its kin, which this baseline never loads, so it has been compiling against undeclared variables wherever it landed. Nothing downstream calls it - no repository under 2denker names a class from any of the three packages, nor HOPNode>>children, #displayLabel or #numberOfChildren, the three the Roassal extension adds. CI keeps loading everything. 'All' is exactly the package set the baseline had before, and .smalltalk.ston now names it, so the test run is unchanged - without that line the new default would have quietly stopped running the tests. Resolved in image [a] rather than assumed: default -> Core -> HOP-Core, HOP-Extra; All -> Core, Tests, Roassal; Tests -> the two test packages. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
My own regression from the commit before, and the CI caught it: HOPRouteHanderWrapperTest failed on an undeclared NeoJSONWriter, which arrives with JSONSchema. Without any group, Metacello's default group is everything the baseline mentions, and that included the two project references. A named group is a list, and a list that leaves them out leaves them out - so 'Core' loaded HOP-Core and HOP-Extra and neither JSONSchema nor Zinc, which HOP-Core needs in HOPRequestParameter and in HOPJsonResponseFormatter. Resolved in image [a]: Core -> JSONSchema, ZincHTTPComponents, HOP-Core, HOP-Extra. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…eline Norbert, on reading the undeclared NeoJSONWriter in the CI log: we should be using STON instead. He is right, and the reason is not taste - BaselineOfHOP never declared Neo-JSON at all. It came along behind JSONSchema, so HOPJsonResponseFormatter worked by accident of load order, and the first load that did not bring JSONSchema read an undeclared variable. STON-Core is in the image Pharo ships, so there is nothing to declare. The wire format does not move. STONJSON toStringPretty: and NeoJSONWriter toStringPretty: write the same characters for this payload, and each reads the other's output - checked in image [a] before changing anything. HOP-Core-Tests 25 passed both before and after, and HOPRouteHanderWrapperTest 3 passed. HOPTestCase>>parseResponse: reads with STONJSON for the same reason, and HOPCodeTest's list of valid dependent packages gains STON-Core so it describes what HOP-Core actually uses. That test begins with #skip, so the list is documentation - but wrong documentation is worse than none. 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.
BaselineOfHOP declared no groups, so Metacello's default group was every package there is - and apptive-common asks for this baseline without naming one. HOP-Core-Tests, HOP-Extra-Tests and HOP-Roassal therefore travelled into apptive-base, apptive-account and apptive-metabase, none of which serve any of them. Checked in image [a]: it carries HOP-Core-Tests and HOP-Roassal today.
Test classes in a deployed image are not idle. AGTestRunnerHandler hangs under #health in two of those servers and runs the whole suite of any TestCase class it is asked for, which is how a test could empty the Canopy tree a running server serves - the same finding, from the other end.
HOP-Roassal does not belong there twice over: it names RSTreeLayout and its kin, which this baseline never loads, so it has been compiling against undeclared variables wherever it landed. Nothing downstream calls it - no repository under 2denker names a class from any of the three packages, nor HOPNode>>children, #displayLabel or #numberOfChildren, the three the Roassal extension adds.
CI keeps loading everything. 'All' is exactly the package set the baseline had before, and .smalltalk.ston now names it, so the test run is unchanged - without that line the new default would have quietly stopped running the tests.
Resolved in image [a] rather than assumed: default -> Core -> HOP-Core, HOP-Extra; All -> Core, Tests, Roassal; Tests -> the two test packages.