Make this package possible to depend on, and prove it in CI - #1
Merged
Conversation
Nothing could consume zig-hdc, and nothing said so. Four separate faults, any
one of them fatal to a consumer:
* build.zig.zon opened with { instead of .{
* .name = zig_hdc where an enum literal .zig_hdc is required
* no .fingerprint (0.15 refuses the package without one)
* the dependency carried a url and no .hash
and in build.zig, addTest was passed root_source_file, which stopped being a
field of TestOptions in 0.15 -- so the build script itself failed to compile.
The repository had no CI at all, which is why all five sat here indefinitely: a
library that reads as available and is not. Now it builds and tests on the
version its consumer targets, and the three exported module names are asserted,
because a rename here is invisible until somebody else's build breaks.
The consumer is gHashTag/trinity, whose build has been failing since March
partly because src/vsa.zig lives here now. Its eleven consumers need all
fourteen symbols this module exports and no local copy has them all.
The hash pins a tarball of main, and main moved: gHashTag/zig-golden-float#95 fixed thirteen imports in src/root.zig that were written from the repository root rather than from the file, so every consumer of that package was fetching a module root that could not compile.
…dency src/vsa.zig exported vsa/agent.zig, which imports five files under src/vsa/agent/ that have never been tracked here and do not exist in gHashTag/trinity either -- the repository the rest of this package came from. So the facade was never buildable by anybody, and exporting it from the module root made the whole package unbuildable for every consumer. The file stays. Unreferenced sources are not compiled, and whether the agent layer should be finished or dropped is a decision about this library rather than a way to turn a build green. Dependency re-pinned after gHashTag/zig-golden-float#96, which repaired two more imports pointing at files that repository does not contain.
Every name resolved through vsa/agent.zig, whose five parts have never existed in any repository, so none of these has ever been a symbol anybody could reference.
…acade back vsa/tests.zig imports agent.zig for four types, so including it pulled the dead facade back into the compilation and took the package with it. Those tests have never run -- the files they exercise do not exist -- so nothing that worked stops working.
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.
Nothing could consume this package, and nothing said so. Four faults in the manifest, any one fatal:
{instead of.{.name = zig_hdcwhere an enum literal.zig_hdcis required.fingerprint— 0.15 refuses the package without oneurland no.hash…plus
addTestpassedroot_source_file, which stopped being a field ofTestOptionsin 0.15, so the build script itself failed to compile.The repository had no CI at all, which is why all five sat here indefinitely — a library that reads as available and is not.
Now it builds and tests on 0.15.2, the version its consumer targets, and the three exported module names are asserted: a rename here is invisible until somebody else's build breaks.
The consumer is gHashTag/trinity, whose build has been failing since March partly because
src/vsa.ziglives here now — its eleven consumers need all fourteen symbols this module exports, and no local copy has them all.