Skip to content
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

Add Windows build and refactor goreleaser config generation #795

Conversation

douglascamata
Copy link
Contributor

@douglascamata douglascamata commented Jan 13, 2025

This should fix #339, while at the same time moving the code for generating the goreleaser configuration for the distros into a more declarative and easy-to-extend form.

The Windows build will be producing images based on Windows 2019 and 2022.

Why so many changes? 😱

I am completely aware that it represents a big rewrite of this part of code. I tried a few different approaches with the intent of having a minimum change that would allow me to support Windows, but the amount of changes needed always ended up snowballing quickly. Some examples of the reasons for this "snowballing" of code are (non-exhaustive list):

  • Handling arm vs arm/v7.
  • Handling Windows' requirement of different base images depending on the host OS Windows version.
  • "Build-only" distro for core distro.

This might not the best code for this job too, but at least I believe it sets up a good structure that we can build upon and iterate on to improve.

I'm very open to hear your feedback and see how we can move this forward!

I can join the Collector SIG call on 2025-01-15 to talk about this if any maintainer finds it more productive.

Questions ⍰

If anyone, please, could help me out in testing that release process works fine with the update goreleaser configuration, it would be aaaaamazing! I don't feel super confident without testing this, of course.

@andrzej-stencel
Copy link
Member

andrzej-stencel commented Jan 14, 2025

Add Windows build and refactor goreleaser config generation

Thanks for the contribution Douglas!

Can you implement the refactoring in a separate PR from the functional change? This should make code review much more effective.

@douglascamata
Copy link
Contributor Author

douglascamata commented Jan 14, 2025

Add Windows build and refactor goreleaser config generation

Thanks for the contribution Douglas!

Can you implement the refactoring in a separate PR from the functional change? This should make code review much more effective.

@andrzej-stencel: Sure thing. I'll open a separate PR for the refactor, cross-reference this one and close it so that we can focus on the new one.

@douglascamata
Copy link
Contributor Author

Opened #797, which should be only the refactor but without the Windows containers parts, @andrzej-stencel. Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Release collector Docker images as packages for Windows
2 participants