hackage-server icon indicating copy to clipboard operation
hackage-server copied to clipboard

No build report UI for package candidates

Open edsko opened this issue 12 years ago • 12 comments

Because cabal-install does not support package candidates explicitly, the only way for the doc builder to install a package candidate (in order to build its docs) is to do

cabal-install ... http://example.com/package/package-name-X.Y.Z/candidate/package-name-X.Y.Z.tar.gz

rather than simply

cabal-install package-name-X.Y.Z

That works ok, but when cabal-install is invoked like that it does not generate a build report, and hence we don't get build reports for candidates. We might fix this in the doc builder somehow, or else in cabal-install.

edsko avatar Sep 24 '13 13:09 edsko

...according to @dcoutts, that reports are not being created for candidates, also causes candidate docs not to be uploaded (even though a proper docs tarball results from the build). Moreover, the failed-list isn't updated for candidates either, causing candidates with build failures to be rebuild over and over again.

hvr avatar Dec 03 '13 10:12 hvr

Do I understand correctly, from the above thread, that when I upload a package candidate, there is currently no way of checking whether it (and in particular, the documentation) builds correctly? Because one of the main reasons for me for using package candidates in the first place is that I would like to check that everything builds correctly before officially publishing the package. Haddock is one of the most finicky components of the build process, and I also use a custom Setup.hs (mostly to work around bugs in Haddock and HsColour), so I would in particular like to check that the documentation builds correctly.

However, package candidates that I have uploaded (see e.g. http://hackage.haskell.org/package/newsynth-0.1.0.0/candidate and http://hackage.haskell.org/package/fixedprec-0.2/candidate) seem to have neither any documentation generated (even after waiting 24 hours just in case), nor any report showing the outcome of the build process.

selinger avatar Dec 06 '13 16:12 selinger

Any progress on this? I'm having the same problem.

JoeyEremondi avatar Feb 11 '14 21:02 JoeyEremondi

Looks like this bug depends on haskell/cabal#1189.

lambda-fairy avatar Jul 26 '14 04:07 lambda-fairy

Ok, haskell/cabal#1189 is fixed (thanks @lfairy), so we're closer to fixing this for candidates.

dcoutts avatar Aug 13 '14 18:08 dcoutts

This is half done -- build reports are being generated as are docs, but there's no link or html rendering for the build report info. So instead we see e.g. https://hackage-origin.haskell.org/package/multi-except-0.3.0.0/candidate/reports/ as image

gbaz avatar Jun 07 '21 00:06 gbaz

How long is it expected to take for the build report to show up? I uploaded a candidate a few days ago that seems to still have no reports or module docs. Apologies if this is the wrong place to ask, but this is my first time uploading to Hackage and it's very hard to locate any reliable information about this issue!

kcsmnt0 avatar Jul 04 '21 21:07 kcsmnt0

If docs build properly they should show up within the hour, usually. Its not clear to me why the builder doesn't seem to have picked up this package, I intend to debug it in the next few days. But given the dodginess of the candidate builder, you shouldn't let that influence your decision to publish the package properly one way or the other...

One hunch I have is that the candidate builder might not work for packages who are not in the main index at all yet, but only uploaded as candidates...

gbaz avatar Jul 05 '21 07:07 gbaz

Alright, I have tested everything thoroughly on my local machine so I guess I'll publish it and hope for the best. As a first-time contributor, it's a little intimidating to have the Hackage upload page emphasize how publication is permanent when there's no direct way to preview what I'm publishing!

kcsmnt0 avatar Jul 05 '21 20:07 kcsmnt0

Katie,

if you are mostly worried about the documentation, you can upload the documentation manually (both for a candidate and also for an actual published package), and you can update the documentation even for an already-published package (so at least the documentation is not really permanent).

For my packages, I find that Hackage doesn't usually create the documentation, or creates it with some considerable delay. So I always upload it manually.

It is not entirely obvious where to find the instructions to do this, but it is somewhere. For what it's worth, here's a line from my Makefile that I use to upload documentation:

doc-upload: ${PACKAGE}-${VERSION}-docs.tar.gz echo -n "Hackage password for ${HACKAGE_USER}: "; read -s PASSWORD; echo; curl -X PUT -H 'Content-Type: application/x-tar' -H 'Content-Encoding: gzip' --data-binary @${PACKAGE}-${VERSION}-docs.tar.gz @.***/package/${PACKAGE}-${VERSION}/docs

Hopefully you can make some sense of that (it's been years since I wrote that line and I haven't looked at it since).

-- Peter

Katie Casamento wrote:

Alright, I have tested everything thoroughly on my local machine so I guess I'll publish it and hope for the best. As a first-time contributor, it's a little intimidating to have the Hackage upload page emphasize how publication is permanent when there's no direct way to preview what I'm publishing!

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/haskell/hackage-server/issues/74#issuecomment-874322953, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABCGBXQZMJZMDR5ENDXV223TWILJVANCNFSM4AIHSB3A.

selinger avatar Jul 05 '21 21:07 selinger

on why the candidate builds still aren't working right, i can confirm my hunch, opened an issue. https://github.com/haskell/hackage-server/issues/949

gbaz avatar Jul 06 '21 22:07 gbaz

and by the way there's an updated howto for manual doc uploading in the uploads page: https://hackage.haskell.org/upload

gbaz avatar Jul 06 '21 22:07 gbaz