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
feat: add --skip-all option #1446
Conversation
I'm wondering what's the use case for this flag? Am I right that you want to use it to check "release-ability" - i.e. just build the executables? If so, would it make more sense to turn this flag into |
If this PR would be accepted if it was renamed to |
I'm not a maintainer of GoReleaser so I don't get to decide what should be accepted, but I think that part of any good PR review process is understanding what problem is the PR trying to solve - hence I raised that question 😉
Maybe you had a different use case in mind - in which case your naming would make more sense? |
Yes, I just want to check "release-ability" of the built executables. To do this currently, I use all three |
so, mainly, you just want to build the binaries and nothing else? |
Yes, I want the dist folder created with the binaries included. This way, I can do a final test of the binaries (locally) and also review the .tar.gz /.zip file contents before publishing to GitHub. |
Do you mind explaining the motivation behind testing the archives in addition to testing the binaries? i.e. what kind of failure scenarios do you expect to find that you wouldn't find from testing the binaries directly? We discussed addition of In theory we could add
I think that the ability to run each stage (build, archive, publish) separately could offer some flexibility and possibly resolve the problem you are describing here, #1454 and #1469 Then each subcommand could just have its own few relevant
Understanding the use cases well would either way be helpful. |
Thank you for your well thought out, detailed post.
I needed to test the archives when I wrote these PRs: Admittedly, these are one off scenarios. Moving forward, I sometimes need to include extra files, such as config files, within my archives. It would include one or two more files other than just
Please consider my answers below with just a grain of salt as I have no strong opinions. Since I am not a full-time programmer, I can only estimate what would be the best outcome moving forward. Overall, I like the idea of having a
Yes. I think
Yes, but if
It includes all other packages as well as the file archives.
I don't know enough about these to give you an informed opinion.
The
Signing should be separate. Sometimes it is not necessary (or possible) to sign; therefore, I would separate this out.
Quite possibly -- I am not sure.
I will have to think more about the ramifications of these, but this seems overly complicated because it would be hard to remember. I also wonder if this would be too confusing.
I hope I answered your questions in enough detail. Please let me know otherwise. |
Upon further consideration, I don't think |
🆒Thank you for all the detailed answers. I'd be willing to PR at least the |
That's what I was thinking too - it makes these different commands composable. The only downside is a bit more effort to implement it as all the artifacts are currently held in memory between steps, so we'd need to find a way of "re-discovering" the binaries in the |
Is this solved by |
Yes, it is. I am closing this. |
@caarlos0 and @radeksimko adding to the conversation. An archive sub command would be useful to test that building the archives works. That way we can test that the release steps from build to archive will work before a change is merged to the master branch. I’m going to be integrating goreleaser into a project soon. Would it be worth opening a issue for this to document the desired behaviour of archive and I could potentially implement it? |
I think |
Thanks @caarlos0. If I run release afterwards with no skip arguments will it rebuild everything or use the existing artifacts? |
It will start a fresh build. |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
If applied, this commit will all the user to include:
instead of having to include:
Since this is a very simple patch, I am wondering if I may be missing something that would make this feature not work as expected.