feat(CI): Add CI and nothing else#263
Conversation
|
Hopefully you can see the run here: https://github.com/dark0dave/weidu/actions/runs/20197911536 If not:
|
|
I've tried to minimize the changes made, so its easier to accept this pr.
|
|
Please let me know if you have any questions. |
|
I think it looks really good! A few questions, as much of this is new to me:
And two remarks: the zips need to include README-WeiDU.html. I've also been distributing TisPack and MosPack as a convenience for the user base, but I imagine this might be hard to swing with this system. |
If you push a tag, the release is auto generated, ie: git tag v251
git push origin v251This would trigger a build and a release. The zips are then bundled into the release, example: https://github.com/The-Mod-Elephant/weidu/releases/tag/v250.01 On a pull request (PR) the builds are run. Once an pr is merged build is run again and those built zips are added to a nightly release (github terms pre-release). We can configure this however you like :). Just let me know the desired behavior you want if the above is not too your liking.
This are part of the runtime github provides, you can read more about them here: https://docs.github.com/en/actions/reference/workflows-and-actions/variables The github token is the default token the job is run with
Yes! So read: https://docs.github.com/en/actions/reference/runners/github-hosted-runners. Additionally we can build inside the docker image provided! I can create Docker images for your exact specification, ie: https://hub.docker.com/_/debian, etc etc
There is even an option for self hosted runners: https://docs.github.com/en/actions/reference/runners/self-hosted-runners
@Argent77, @AngelGryph and @Incrementis (and obviously myself) and a few others have tested these binaries. Windows, mac and linux. There are some nix builds if you are so inclined as well. |
I'll add the readme. For the other files, can we skip them for now? |
I meant, who's doing the building, but it seems like it's a Github service? I'll be back once I've read up on Actions. |
Ahh, sorry! Yes, its built in azure (microsoft cloud). Basically github offers free machines for open source projects. |
|
I've add the readme to all the zips. Adding README-WeiDU.html to WeiDU-Linux-250.zip
zip -ur WeiDU-Linux-250.zip README-WeiDU.html
Adding README-WeiDU.html to WeiDU-Mac-250.zip
zip -ur WeiDU-Mac-250.zip README-WeiDU.html
... |
|
For release builds targeted at users, I guess the oldest available Ubuntu is best, for the widest compatibility, so 22.04. Other builds should ideally remain on ubuntu-latest, and maybe we'll catch one of the many toolchain-related build failures early.
I might have another round of questions left in me, but now it's enough for today. |
Sure no worries doing that now.
So installing heva/tex/perl on windows is a pain (chocolattely does not support it), so I build it away from the windows VM, in a linux machine and then attach it.
Yes the idea is nightlies are triggered after a merge to devel. This lets your users experiment with recent builds. As well as testing release process. Example: https://github.com/The-Mod-Elephant/weidu/releases/tag/v250.01-nightly-8ebe7c1 This is a pre-release so its hidden from the other releases. We can set it up so pushes to master trigger the nightly thats fine. I'll do that now. And yes, when you push a tag, it does a real release.
Yes. I like to generate release notes. As a fellow developer, I do actually care about the changes you make, from commit to commit. I avoid any manual process like the plague. Happy to disable if it makes you more comfortable. |
|
@FredrikLindgren I've updated again, summary:
|
|
As an aside we might need a staticly compiled elkhound: The-Mod-Elephant/elkhound#16. Ie I need to fix elkhound-> old version of ubuntu (C libs) -> update weidu One problem at a time tho. |
Signed-off-by: dark0dave <dark0dave@mykolab.com>
Okay, if you want them in, I'm willing to fold.
Oh, I meant building double-oh releases from activity on master. But regardless, the whole thing was a bit of a bad idea based on a faulty premise. With the nightlies generating tags from version.ml, there should never be a need to push any tag but a double-oh one, so having release builds on tag pushes is fine. If you don't care for it, I can change both back after I've merged (hopefully tomorrow). Good work! |
@dark0dave, okay, turns out I forgot how you structured that bit about release notes, and the official docs only describe a snake-case variety, while the one I (perhaps incorrectly) quoted was camel-cased. Does this do the same thing, or can you post how you did your release notes? |
Hi @FredrikLindgren see above. I'll add it back in another pr. Docs for that are here: https://github.com/ncipollo/release-action See: #267 |


@FredrikLindgren I've reduced the noise here. Hopefully its a bit more acceptable.