FujiAPI / Fuji

Celeste 64 Mod Loader
30 stars 10 forks source link

Reworking Github Actions Build And Publish Workflow #90

Closed jasminegamedev closed 3 months ago

jasminegamedev commented 3 months ago

This PR heavily reworks our build and publish workflow, and fixes several key issues with it. The biggest change is that now builds are manually kicked off directly from inside of the Github Actions UI. I've added several new inputs that allow us to control things like the release version/tag, whether it should be generated as a draft, whether it should be generated as a prerelease, and whether it should be a beta or not. This should give us more control over when a build is created, and how it is configured. We can also add additional inputs in the future if needed. It also has some new validation logic, so only tags/version numbers that are in a valid format will be built and published. Because of this change, I also streamlined it so now beta and stable releases use pretty much the same workflow (with only minor differences on how the release tag should be formatted) I also changed it so the version number that appears in game will now be based on the release version that was set during the build, which unifies that part of the code a little bit too. It used to just do this for betas but now is used for stable builds too. (although if it's not set, or if it's an in dev version, it will still pull from the normal version set in the csproj.) This also fixes a few issues we had where builds that failed weren't cleaned up correctly, and also an issue where the build wasn't being published as a draft (since it's configurable now.) I think this approach should improve our release workflow. We may still want to formalize some things around tag/version formatting, for betas especially, but that can probably be handled in the future as needed.

coolreader18 commented 3 months ago

There's still a reference to ModVersion near the start of main, so it doesn't compile.

jasminegamedev commented 3 months ago

Ahh, Sorry about that. I failed to test it properly after fixing merge conflicts. I removed it, but it seems like it was readded during the merge and I missed it 😅 I just pushed up another change that should fix it.