-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optional VCS Support in cabal sdist
(and all-in-one updist workflow)
#5064
Comments
Arriving here from the discussion from: https://twitter.com/sclv/status/955706708181110784 If we have some 3rd party token support in hackage, we could build a service that does this for Hackage-Upload-As-A-Service. HUAAS! |
Sounds like a good idea. One problem is that we don't currently have exactprint for |
what's the ticket/status on exactprint? In general good cabal file update automation would be a huge boon. (For local modifications it also could be that we could kludge something simpler but still safe). |
This assumes that people tag using pure versions; I've seen some that use formats like Also, what happens if people just want the repository field in their .cabal file to point to HEAD? Or have multiple such fields (one HEAD, one to the tag for the branch)? |
In simple cases like this where tag format is basically
Yep, check the docs for the |
My take is we should hardcode a common opinionated default for the tag. We could also extend this to accept some format specification in the future. I think most people are sort of bad/lazy about tagging and about this field, and one purpose of this feature would be to help encourage both... |
A useful first step here might be just to add an The VCS integration side is also unblocked now that there's reliable printing of |
I feel like this ticket overlaps/conflicts with #3837 which attempts to pay attention to the larger picture and trying to come up with a consistent UI which makes sense. PS:
I'm afraid that's not the case yet |
i mean i think it just complements it/extends the discussion about what steps could be included in such a workflow (bearing in mind they also should share a consistent UI). I.e. that ticket discusses a workflow for the sdist, test, and upload phases, but not the "optionally tag and upload to a vcs" element. |
It would be nice to have a one-step process for releasing packages. Suppose we had
cabal sdist --vcs
, initially configured to work with git alone, but easily extensible.Running this would rely on the upstream repo in the cabal file being set correctly. Having done so it would:
tag
field component of the repo field), and push.We could also add a
--test
flag that would unpack the tarball and attempt to build it (and if it has a test stanza, test it).We could then add a new command, say
updist
that by default in order wouldcabal sdist --test; cabal sdist --vcs; cabal sdist; cabal upload
, perhaps with flags to omit workflow steps. Not by default, but optionally it could have a flag to build and upload haddocks as well.This is just quality of life, but I think it would make things much nicer, as the steps are all so mechanical, and always the same.
The text was updated successfully, but these errors were encountered: