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
[5.0] Move build system to github actions #1674
base: opentk5.0
Are you sure you want to change the base?
[5.0] Move build system to github actions #1674
Conversation
This can be another discussion in another PR. There is also a ton of formatting changes that we don't want to make (I'm guessing it's trying to fix 80 columns??). I also have opinions about creating automatic nuget packages using GitHub actions (it seems to be doing that when you push to There are also some features that I have as "requirements" for a build system change:
|
The releases are still manual with this new github actions. Its just done through the github interface. We do a github release whenever there is a push to main and that push contains a version tag. This means you get change notes in the github repo and versioning from the github repo directly. Im still not done setting this up entirely, hence why this PR is markes as draft atm. Atm, this PR also has a crazy amount of lines changed and im actively working on figuring out why that is. But i will redo the namespace renamings. My intent behind renaming namespaces was mostly to make it more internally consistent.
|
The namespace is already Having a release be published just because the commit message contains a magic string is exactly the type of magic I want to avoid in our build system. It will just be extra confusing, and is error prone. Or does this change it so that I have to use the GitHub web interface to create a GitHub release that will then trigger a publish to happen? I would ideally see us not be dependent on the GitHub interface to be able to do releases. I'm fine with having our CI be run on appveyor or GitHub but I would ideally remain as GitHub agnostic as possible. |
I will revisit the namespaces then when i get time to redo this PR. Im saying we should use the github interface yes. Because the github interface can also auto generate release notes and other very valuable stuff. Its not a magic string in a commit message. Its a tag you have to push, and its not some magic tag. The tag is the version you are creating. You can absolutely create releases from ci aswell, but then you wont get the auto-generated changelog, however we could likely add this to the github ci/cd aswell. IIRC the commands for releasing on your machine should be something like In terms of appveyor vs github, we would for sure have the same problem with appveyor no? If for some reason appveyor is not supported in the future we would have to change from appveyor anyways. Github actions at this point is way bigger than appveyor, so i see it as more risky to be on appveyor than github. Furthermore there are lots of tools for converting build scripts from github to gitlab build scripts aswell. Im sure with how big and universal github actions are at this point, if a better alternative shows up there are going to be tools to swap from one to the other. |
I'll take some time to more carefully consider these changes. Though I will say that automatic change notes are generally quite bad for consumers. Git messages are often oriented towards the developers of the library and not the developers using the library. While change notes should be consumer oriented.
What other features exist that are useful? |
I'm not copying the PR names into the release notes, tried it for a release and it was not very usable. But I get the point. |
Purpose of this PR
Testing status
Comments