<div><div>Doc building didn't work for me about two weeks ago, although I only waited for above half an hour. Have things improved since then, or was I just not patient enough? (these are for docs that take seconds to build locally)</div></div><div><br><div class="gmail_quote"><div>On Sat, 18 Mar 2017 at 2:28 am, Brandon Allbery <<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_msg">Hackage doc building was broken for close to a year, and a lot of people seem to have concluded that it is therefore permanently broken. But quite a lot of work was put into (a) fixing problems (b) adding monitoring so the problems can be detected quickly and fixed if they recur; it's been working for at least 6 months now, and seems fairly stable.<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">(That said, at this point I will not be surprised if the consensus of the community is "no no it is broken forever! always work around it!")</div></div><div class="gmail_extra gmail_msg"></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On Fri, Mar 17, 2017 at 8:18 AM, David McBride <span class="gmail_msg"><<a href="mailto:toad3k@gmail.com" class="gmail_msg" target="_blank">toad3k@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Stack upload doesn't seem to upload docs itself.  But hackage seemed<br class="gmail_msg">
to build docs for my project without much of a hitch.  I know that it<br class="gmail_msg">
has been backed up at some points in the past, but as of yesterday it<br class="gmail_msg">
seems to be working fine.<br class="gmail_msg">
<div class="m_4125791265988682735HOEnZb gmail_msg"><div class="m_4125791265988682735h5 gmail_msg"><br class="gmail_msg">
On Fri, Mar 17, 2017 at 7:29 AM, Clinton Mead <<a href="mailto:clintonmead@gmail.com" class="gmail_msg" target="_blank">clintonmead@gmail.com</a>> wrote:<br class="gmail_msg">
> Does "stack upload" build and upload the docs or will I still need "hup" for<br class="gmail_msg">
> that?<br class="gmail_msg">
><br class="gmail_msg">
> On Fri, 17 Mar 2017 at 9:40 pm, Adam Bergmark <<a href="mailto:adam@bergmark.nl" class="gmail_msg" target="_blank">adam@bergmark.nl</a>> wrote:<br class="gmail_msg">
>><br class="gmail_msg">
>> The stack templates are quite nice. The default is missing #1 #5 #6.2 #7<br class="gmail_msg">
>> #8 #9. Setting up external services is of course a bit more involved but<br class="gmail_msg">
>> maybe that can be added to an external tool extending stack? But dot ask the<br class="gmail_msg">
>> stack maintainers as well for their opinion! The others I think should be<br class="gmail_msg">
>> fine to add, possibly as options. But I haven't looked into customizing<br class="gmail_msg">
>> templates or much other than the default template so maybe some of this is<br class="gmail_msg">
>> already in there somewhere.<br class="gmail_msg">
>><br class="gmail_msg">
>><br class="gmail_msg">
>> I'm slowly moving away from local .gitignore files, in ~/.gitconfig you<br class="gmail_msg">
>> can ignoring globally by specify e.g.<br class="gmail_msg">
>><br class="gmail_msg">
>> [core]<br class="gmail_msg">
>> excludesfile = /Users/adam.bergmark/.gitignore-global<br class="gmail_msg">
>><br class="gmail_msg">
>><br class="gmail_msg">
>> `stack upload` does sdist + upload and can store your hackage credentials.<br class="gmail_msg">
>><br class="gmail_msg">
>><br class="gmail_msg">
>> Sounds like hup or a tool extending it might be a good starting place to<br class="gmail_msg">
>> do take care of the release process. I'd for instance want it to check that<br class="gmail_msg">
>> the travis build for the tag (or commit hash which would happen first)<br class="gmail_msg">
>> succeeded before uploading. I'm not aware of other work in this area but I<br class="gmail_msg">
>> haven't looked.<br class="gmail_msg">
>><br class="gmail_msg">
>> Cheers,<br class="gmail_msg">
>> Adam<br class="gmail_msg">
>><br class="gmail_msg">
>><br class="gmail_msg">
>> On Fri, 17 Mar 2017 at 11:17 Clinton Mead <<a href="mailto:clintonmead@gmail.com" class="gmail_msg" target="_blank">clintonmead@gmail.com</a>> wrote:<br class="gmail_msg">
>>><br class="gmail_msg">
>>> I've only just started uploading packages to hackage (my package listing<br class="gmail_msg">
>>> is here) but currently there's a lot of repetitive activities for creating<br class="gmail_msg">
>>> and updating packages.<br class="gmail_msg">
>>><br class="gmail_msg">
>>> For example, here's the steps in creating a package:<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Initialise a repository on github<br class="gmail_msg">
>>> Initialise git repository locally<br class="gmail_msg">
>>> Set github repository as remote<br class="gmail_msg">
>>> Add a LICENSE file<br class="gmail_msg">
>>> Add a standard ".gitignore file"<br class="gmail_msg">
>>> Create a cabal file with the appropriate files that hackage requires<br class="gmail_msg">
>>> including:<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Git repository source<br class="gmail_msg">
>>> Issues page<br class="gmail_msg">
>>> Licence<br class="gmail_msg">
>>> Licence file<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Run multi-ghc-travis to create a ".travis.yml" file<br class="gmail_msg">
>>> Make an initial commit and push<br class="gmail_msg">
>>> Refresh <a href="http://travis-ci.org" rel="noreferrer" class="gmail_msg" target="_blank">travis-ci.org</a>'s repository list so it detects the new repository<br class="gmail_msg">
>>><br class="gmail_msg">
>>> There's also the stack stuff, but the GUI I'm using, IntelliJ with a<br class="gmail_msg">
>>> Haskell plugin, handles most of that. It also creates a cabal file, but it's<br class="gmail_msg">
>>> missing a number of key fields as mentioned above.<br class="gmail_msg">
>>><br class="gmail_msg">
>>> When I actually want to upload the package I go though these steps:<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Push to github<br class="gmail_msg">
>>> Wait for Travis-CI to compile the package (this is a test to ensure it<br class="gmail_msg">
>>> builds in a clean remote environment).<br class="gmail_msg">
>>> Run "cabal sdist 2>&1"<br class="gmail_msg">
>>> Parse the output of sdist to see where the dist file is.<br class="gmail_msg">
>>> Run "hup packup fileFromSDist" to upload the package, putting in my<br class="gmail_msg">
>>> hackage user/pass<br class="gmail_msg">
>>> Run "hup docboth", to both build and upload the documentation.<br class="gmail_msg">
>>> Tag the commit as a release<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Currently, I've got two scripts with help with a lot of this, but it's a<br class="gmail_msg">
>>> bit adhoc, and it's not fully automated (for example, I still have to<br class="gmail_msg">
>>> manually ensure all the correct fields are in the cabal file, usually by<br class="gmail_msg">
>>> copy/pasting from another package and modifying).<br class="gmail_msg">
>>><br class="gmail_msg">
>>> Are there any tools that I haven't found that make this process a bit<br class="gmail_msg">
>>> more painless? I'm a bit new to this area, and I've only started using git<br class="gmail_msg">
>>> recently as a prelude to uploading my Haskell packages, so admittedly I may<br class="gmail_msg">
>>> have missed something obvious or perhaps I'm just doing it all wrong.<br class="gmail_msg">
>>><br class="gmail_msg">
>>> But if other people do find it painful like me, perhaps I'll put some<br class="gmail_msg">
>>> effort into rewriting my perl scripts into nice haskell packages and<br class="gmail_msg">
>>> executables for others to use.<br class="gmail_msg">
>>><br class="gmail_msg">
>>> _______________________________________________<br class="gmail_msg">
>>> Haskell-Cafe mailing list<br class="gmail_msg">
>>> To (un)subscribe, modify options or view archives go to:<br class="gmail_msg">
>>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="gmail_msg">
>>> Only members subscribed via the mailman list are allowed to post.<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> Haskell-Cafe mailing list<br class="gmail_msg">
> To (un)subscribe, modify options or view archives go to:<br class="gmail_msg">
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="gmail_msg">
> Only members subscribed via the mailman list are allowed to post.<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
Haskell-Cafe mailing list<br class="gmail_msg">
To (un)subscribe, modify options or view archives go to:<br class="gmail_msg">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="gmail_msg">
Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div><br class="gmail_msg"><br clear="all" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div></div><div class="gmail_extra gmail_msg">-- <br class="gmail_msg"><div class="m_4125791265988682735gmail_signature gmail_msg" data-smartmail="gmail_signature"><div class="gmail_msg"><div class="gmail_msg">brandon s allbery kf8nh                               sine nomine associates</div><div class="gmail_msg"><a href="mailto:allbery.b@gmail.com" class="gmail_msg" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" class="gmail_msg" target="_blank">ballbery@sinenomine.net</a></div><div class="gmail_msg">unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" class="gmail_msg" target="_blank">http://sinenomine.net</a></div></div></div>
</div></blockquote></div></div>