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
Release to GitLab #110
Comments
Currently we parse the default repository to push to from the git remote. This would allow using GitLab without any configuration. But for Bintray we would need additional configuration. And we should also support use cases where people like to upload to multiple services. I also think in some scenario a user might not want to upload the release at all and instead has a custom script or some manual process to run after GoReleaser is done (Maybe I should open another issue to make this a separate feature request). Anyways, I think we should keep it simple so that a user doesn't need any configuration for the most basic use case and can use GiHub and GitLab out of the box. For customisations we should probably split the release:
github:
repo: user/repo
gitlab:
repo: user/repo
bintray:
... This would break the current configuration format. We could think about creating an alias from We could also think about removing the And all service specific authentication I would handle via env vars like we already do for GitHub. |
@jspc yeah, I have a WIP stash on my machine that does basically that... The only problem I see (and was also present on my branch) is that this allows both github and gitlab repo to be setup and also doesn't support custom hosts (github enterprise, gitlab hosted, etc). Maybe we should do something like this: release:
repo:
provider: github
name: user/repo
host: my.server.com (all of which can be parsed from |
@caarlos0 does this configuration format allow using multiple providers at the same time? |
If GitLab support was to be added, would Gogs/Gitea be supported as well? |
@zet4 would be great to support them as well! |
@jorinvo no... that's kind of the idea actually... I'm not sure if it is a use case to have the same repo in multiple providers and to release to all of them... what do you think? |
@zet4 yeah, if there is an api, why not, right? 😄 |
@caarlos0 I think it's difficult do see which ways people intend to use the projects. One more thing: Is the |
@jorinvo it's not necessary, but looks better IMHO... For example, have a Also, we may just use the same syntax in |
@caarlos0 sure, can leave it like this. Have you started implementing GitLab support already or are you changing the general setup first? If I can help implementing GitLab support or maybe Gogs/Gitea support, let me know! |
@jorinvo I just have a wip in my stash, will see what I can commit already so we can split the work like you suggested (one work on gitlab support and the other on gogs, gittea, etc) |
@jorinvo actually, my stash is just wrong right now. I'll add just the config part today, and then we can split the work =) |
To recap some of the info I shared on Slack, regarding this issue:
|
Are you currently working on it? :) |
Seems that no one has a work in progress online right now. When someone starts working on this, can we agree that you post it quickly here to avoid double work on this? Would be sad to spend several hours and than finding out that someone else is working on it, because i think the time can spent on other features / fixes as well. Thank you 👍 Gitlab supports releases, but in a different form like Github with attaching binaries. Here are a few reference links to get more information about this: |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Comment to prevent that the stale bot closes this. I still think this is useful. |
Totally agree! |
hey @RafPe , probably the starting point is to create a |
Ok - I'm on it - Will do some play around over the weekend and see if we get something usable to test ;) |
Nice, let me know if you need anything :) |
@caarlos0 how open are we to potential changes in the way client is build ? I could come up with something like this to simplify it for future use ( its subjective point of view of course :) )
Then we create client and have access to all |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@RafPe I don't like it very much, no, because the testing may get harder too, since we will need to mock more things... also brew pipeline also uses the client, and would require a lot of change for everything to work as well... |
PS: I don't know what's the best way to do this though... |
@caarlos0 is the idea to be able to publish to both gitlab and github from the same release process, or only supporting one at a time? (I personally don't see much use for use in a single release). I have not spent a lot of time in the code, but it would seem like defining a I wish I had time to prototype something right now, but I'm fully loaded with work. |
yeah, I agree with releasing to both github and gitlab... |
I'm currently working on a way to use GitLab CI and GitLab Pages for a releases website, a PoC is already working. Now I'm trying to do most of it with GoReleaser. Repo: https://gitlab.com/dAnjou/goup (see It's still very much a WIP, keep that in mind.
|
Initial gitlab scaffolding for gitlabClient See goreleaser#110
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@caarlos0 I started down the path of adding GitLab support. Adding a Is there a strong desire to support releasing to both GitHub and GitLab? The code could be simplified if the assumption that it was GitHub or Gitlab (ie when the config is loaded we use a custom yaml unmarshaler to add Note: When I say "
which would become the "
Also note: |
@wburningham This is what I was trying to ask but didn't do a very good job. I don't see a lot of value in deploying to github and gitlab in the same release config. My use would be satisfied by releasing to one or the other in a single config. |
My use case would also be satisfied if it released to one or the other in a single config. I don't know why you would send to both if homebrew or scoop only reference one source for downloads. |
Yeah, I guess that makes sense as well... if people ask for it, we may change it later... |
Major updates: 1) changing the internal loading of configs, 2) changing the client.Client interface 3) adding a gitlabClient struct 4) adding internal id to artifacts See goreleaser#110
Major updates: 1) changing the internal loading of configs, 2) changing the client.Client interface 3) adding a gitlabClient struct 4) adding internal id to artifacts See goreleaser#110
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
As @bernardoVale mentioned #on Slack it would be nice to support releasing to GitLab.
There is a Go package for the API https://github.com/xanzy/go-gitlab.
Since we also plan on adding Bintray support in #15 we might be able to combine some of the releasing logic.
The text was updated successfully, but these errors were encountered: