Repository navigation
Ships the README-linked guides in the package - #167
Merged
Merged
Conversation
hex.pm renders the README from the package tarball, so a relative link there resolves inside the tarball; the five guides the README links to (architecture, embedding, fixture bundles, wire format, telemetry) are extras but were not in package() files:, so each link answered 404 on the package page. They now ship. The README's ADR-0005 link and the CHANGELOG's changelog.d/README.md link were relative links to files that are not extras: HexDocs left the first as a raw href (404, and the docs build's one warning) and silently rewrote the second to the package's front page. Both now cite the file by its GitHub URL at the v0.10.1 tag, where each exists. test/packaging_test.exs gains a check that every README relative link target is in both extras and files:, so the next such link fails the suite instead of the package page. No version bump; no changelog fragment (changelog.d/README.md excludes documentation). Refs: sui-g45f
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.
Refs: sui-g45f
What
The README's relative links now resolve on GitHub, HexDocs and hex.pm alike, and the docs build is warning-free.
package: [files: ...]inmix.exsnow ships the five guides the README links to relatively:docs/architecture.md,docs/ops-embedding.md,docs/fixture-bundles.md,docs/wire-format.md,docs/telemetry.md. Each was already an extra; hex.pm renders the README from the tarball, so each link answered 404 on the package page.v0.10.1tag (@versioninmix.exs), where the file exists. ADRs stay unpublished; no ADR is added to extras. This was the docs build's one warning.changelog.d/README.mdlink is now the GitHub URL at thev0.10.1tag, where the file exists. ExDoc silently rewrote the relative link to the package's front page (its basename matches theREADME.mdextra).test/packaging_test.exs: a new test asserts that every README relative link target is in both extras andfiles:. It went red on the base (README.md links docs/wire-format.md relatively, but package() files: does not ship it). A sabotage run that put the relative ADR link back went red on the extras half. It passes on this head.No version bump (
@versionunchanged). No changelog fragment:changelog.d/README.mdsays not to write one for "documentation, ADRs, or plans".Acceptance evidence
mix docs --warnings-as-errorsat this head (no warnings; exit 0):The base (4570920) reported one warning:
documentation references file "docs/adr/0005-language-neutral-trace-wire-format.md" but it does not exist. The warning set had not moved from the one the bead was written against.Relative-link check over every published file: a Ruby script reads the seven extras and every
.exfile underlib/. It strips inline code spans (the[trace](...)placeholders in the event-log docs are code, not links) and resolves every markdown link that is nothttp(s):,mailto:or#. It reports each target that is not an extra, and any extras that share a basename. Output at this head:The same script at the base listed exactly the two links fixed here:
README relative link targets against
files:: the relative links at README.md lines 155, 211, 335, 392, 394, 398, 400 and 402 name five distinct files, the five guides above. Each is now infiles:and in extras, and the new packaging test checks this.mix hex.buildsucceeds (exit 0), and the tail of its file list reads:Full gate,
mix quality, on the committed tree, quoted whole:git diff --stat origin/main:Review (author's in-turn review)
I re-read the diff against the bead, its acceptance criteria and its dated notes. The ADR-0005 file and
changelog.d/README.mdboth exist at thev0.10.1tag (checked withgit show v0.10.1:<path>), and the tag is on the remote. So both absolute URLs use the tag form, as the standard requires. The five guides infiles:are exactly the five distinct relative README targets. None is new to extras, and no two extras share a basename. Themix.exscomments were updated in the same places the change touches: the docs() comment no longer says extras never need afiles:entry, and the package() comment names the guides' reason and the test that holds the list.@versionis unchanged, and no file underdocs/adr/is touched. The new test adds no public surface. This is tier gate: the diff changes 67 lines outside docs and fixtures, below the 300-line threshold, and touches no public function, option, callback, wire shape or record. No reviewer was dispatched.Provenance
mainURL forchangelog.d/README.md. The standard picks the tag URL when the file exists at the tag, and it does, so the tag URL is used.files:half, which the docs build cannot see.