-
Notifications
You must be signed in to change notification settings - Fork 543
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
Automate flex release #337
Comments
Originally posted by @westes in #412 (comment) This is the single open issue in the 2.6.5 milestone and 18 items were already closed in the 2.6.6 milestone [although I'm not sure if they were "just closed" without any actual commit, in this case those should be adjusted to have no milestone attached]. As there obviously is no "release often" happening - can we please have the 2.6.5 release (now containing changes of nearly 4 years) done "at least this time" manually? |
I'm getting the hang of scripting automated release builds as Travis CI "deployments." So far I know what to do with a new tag. (Still figuring out how to get the flex version number in there, but making progress.) When you say, "build the flex release archives," are you wanting to re-build historical dist tarballs? |
No, that is about running
Does this mean you may be able to help @westes with a PR including a script and notes how to setup that as CI that at least:
? |
Yep, that's the gist of it. I've worked out how to automate just about everything between the github api, Travis, automake, and some utilities. I'll probably add a maintainer script and a make target to kick it off.That's all for new releases, though. Getting arbitrary old build systems into Travis is possible but tricky so I'd be glad not to do that. |
I have Travis making a release from a tag now. Working out how to make the gpg signatures. Are those made according to a specific formula? I'm guessing they are are detached signatures of the file hashes. Also thinking about the NEWS file. Will building the update from the milestone be sufficient? I have a plan for how to do that with octokit. |
You probably should not use Travis unless westes is willing to a) regularly ask Travis for more CI credits or b) pay for it. Travis is not freely available in general anymore https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing Additionally, even before the pricing change, there seems to be a misconfiguration of Travis in this repository. Travis did not run anymore since May 2018. I would recommend looking into GitHub Actions instead. |
Super. Thanks for the heads up. I got the builds working across their whole matrix without them every mentioning this has changed. |
@westes what do you think about switching to GitHub Actions from Travis CI? Looks like it's a little more hassel to do multi-arch builds, but I think coordinating releases will be simpler. |
It makes sense to switch to github actions. For now, I'd say ignore the mswindows and osx builds since they consume minutes at higher rates. |
Rgr that. I'll get the fundamentals set up on linux/amd64 to start. |
Okay, got the first chunk in place. @westes, requesting feedback on the NEWS file format and workflow. The NEWS file I'm generating is pretty basic. It's just issue numbers, titles, and labels (when available). That's all inserted at the top of the file, though, so it's possible to add more friendly news nearby just before triggering the automated release workflow. The workflow is triggered when you close a milestone. The tag and release names are taken from the milestone title.
The gh-actions branch of my fork is in the end condition right now. The workflow files are in .github/workflows/milestone* if you want to take a look. I have a daily build workflow and some tests in there, too. NB: The milestone workflow only runs on the default branch. I switch mine to gh-actions when I'm testing it. |
PR is ready for comment. The 2.6.5-TEST "release" on my fork shows how it all turns out. I can kick off new demos without much trouble - as designed :) |
@westes You've requested the automated adjustments via github-actions and there's a PR for that. Would you please review the PR? If the "automated" part does not fit for whatever reason we could "downgrade" the build to not take care of the releases and only run build + make distcheck, still providing automated tests and release tarballs for people to use from the CI. |
Friendly ping @westes after a year. |
I don't see what you want to automate any further.
The main burden I see is 2, creating the release notes. Changing your merge policy might help you for incoming requests. I offer to help to update the release notes since the last release. |
Any updates to this? 7 years have passed since the latest release |
Currently, flex releases are manual. This takes time and is error prone.
We would like for release tags to trigger flex releases.
Such a system needs to:
When we have that, it will be possible to release flex whenever an important fix or feature change appears on master or when sufficient time has passed since the previous release.
The text was updated successfully, but these errors were encountered: