You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I learned from @gbaz that the package build on hackage server is not run when the user uploads the documentation self, using cabal upload -d.
However, the cabal docs do not hint at that:
Usage: cabal upload [FLAGS] TARFILES
...
-d, --documentation Upload documentation instead of a source
package. By default, this uploads
documentation for a package candidate. To
upload documentation for a published package,
combine with --publish.
Also, this behavior is unexpected. The stomach feeling "unexpected" can in this case precisely pinned to the absence of two mathematical properties:
Monotonicity: You put more in, you get more out. So, if I provide more data to Hackage, I expect to get better service, not worse.
Orthogonality: Hackage does not keep the two dimensions documentation and build/tests separate, but moving to the right on the first dimension moves me automatically back on the other dimension. (Trivium: In the 2006 edition of the ICFP Programming Contest, the CMU team devised a non-orthogonal programming language "Balance" which makes it utmost hard to even implement simple operations like addition: https://kilthub.cmu.edu/articles/journal_contribution/The_Cult_of_the_Bound_Variable_The_9th_Annual_ICFP_Programming_Contest/6610520).
Ironically, the current behavior provides an equally unexpected "solution" to the problem of failing tests:
Uploading the documentation (quickly enough) will stifle the build/test runner, and no banners will be created.
But seriously, I think uploading the documentation should not prevent Hackage to build the documentation itself. I always thought of the uploaded documentation to just be a placeholder for the "officially" built one, as a safeguard:
The uploaded documentation will be used as long as the builder has not run.
The uploaded documentation will be used in case the doc build failed.
In the other cases, the officially built docs should be used.
The text was updated successfully, but these errors were encountered:
I learned from @gbaz that the package build on hackage server is not run when the user uploads the documentation self, using
cabal upload -d
.However, the cabal docs do not hint at that:
Also, this behavior is unexpected. The stomach feeling "unexpected" can in this case precisely pinned to the absence of two mathematical properties:
Ironically, the current behavior provides an equally unexpected "solution" to the problem of failing tests:
doctest
fail #991Uploading the documentation (quickly enough) will stifle the build/test runner, and no banners will be created.
But seriously, I think uploading the documentation should not prevent Hackage to build the documentation itself. I always thought of the uploaded documentation to just be a placeholder for the "officially" built one, as a safeguard:
In the other cases, the officially built docs should be used.
The text was updated successfully, but these errors were encountered: