-
Notifications
You must be signed in to change notification settings - Fork 11
Codechange: Set up testing/release workflows #202
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
Conversation
|
I've done some basic repo digging, and these are the points I've found: Add workflows to OpenGFX2: Use OpenGFX as a template, copy and update: https://github.com/OpenTTD/OpenGFX/tree/master/.github/workflows Update OpenGFX2 build process to match the expectations of baseset release workflows: https://github.com/OpenTTD/actions/blob/main/.github/workflows/rw-entry-release-baseset.yml https://github.com/OpenTTD/actions/blob/main/.github/workflows/rw-baseset-build.yml https://github.com/OpenTTD/actions/blob/main/.github/workflows/rw-baseset-metadata.yml Update OpenTTD website, adding OpenGFX2 or changing existing OpenGFX page to point at OpenGFX2: https://github.com/OpenTTD/website/blob/main/_download-meta/opengfx-nightlies.md https://github.com/OpenTTD/website/blob/main/_download-meta/opengfx-releases.md |
|
FYI: if you use |
|
I have been fiddling around with this: I am running against all kinds of small issues, which suggests to me I am not using the same setup as you are. I would be curious to know:
As the issues I run up against makes no sense to me :) Either way, if I can't compile it, neither can the CI, so we first have to figure out what I am doing wrong :) Edit: issue was I was trying Python 3.8. You need 3.12+. Didn't investigate why. |
|
We might want to add some automation to set |
|
https://github.com/OpenTTD/OpenGFX2/commits/release-workflows-tb/ I think in theory that that branch should "just work". I currently can't test it as I am blocked by an unreleased It is important to note that every attempt to make this release-flow work costs 8 dollarcent. It isn't a monumental large number, but just something to keep in mind while we are experimenting. And I estimate a release will take ~1 hour. So it will also require some ... "prethinking" :D But I think I caught all ins/outs. I also changed the I also removed the "testing.yml", for two reasons:
PS: this eventually needs OpenTTD/actions#95 before my branch can be pushed to this PR to merge. |
|
Thank you!
Which leaves me confused about the
|
61f85b0 to
47b9555
Compare
2379dc8 to
f1768c8
Compare
|
This is now all done. A test build has succeeded: https://www.openttd.org/downloads/opengfx2_classic-nightlies/latest This PR currently depends on #205 . Please review & merge that first. After that, this can be merged. Creating a "tag" will create a new version. Don't forget to update your changelog first if you do so. Every Monday it will create a nightly. And manually you can trigger a nightly whenever you want. |
f1768c8 to
b34986d
Compare
zephyris
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/releasing-opengfx2.md Should be updated to add the following:
"Creating a "tag" will create a new version. Don't forget to update your changelog first if you do so."
But, needs wider changes, so can be done in separate PR.
| Requires `git lfs` for large file handling. Once `git lfs` is installed then clone using `git` as normal. | ||
|
|
||
| Requires a system with `make`, `nmlc`, `git` and `python3` with `PIL`, `blend-modes`, `numpy`, `skimage`, `tqdm`. This has been developed using Windows Subsystem for Linux (WSL) and might have peculiarities (eg. incorrect file permissions) on a real Linux install. | ||
| Requires a system with `make`, `nmlc`, `git` and `python3` (3.11+) with `PIL`, `blend-modes`, `numpy`, `scikit-image`, `tqdm`. This has been developed using Windows Subsystem for Linux (WSL) and might have peculiarities (eg. incorrect file permissions) on a real Linux install. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not strictly true, python3 3.10 works, but there is some odd interplay with numpy which makes this good advice.
We'd like to add OpenGFX2 automatic builds and cdn uploads, to make it a mature part of OpenTTD.
This is a (very) draft PR to set up release workflows. It is little more than a copy/paste of the OpenGFX(1) workflows, with a couple of basic modifications. Intended as a start point to discuss how I've got it wrong, and what the next steps would be.