bevyengine / bevy_github_ci_template

Apache License 2.0
202 stars 45 forks source link

Improve release workflow and readme #41

Closed ameknite closed 4 months ago

ameknite commented 1 year ago

This PR improves the release workflow by adding:

This also improves the README and addresses (#14).

I tested it, and it works in this repository: https://github.com/ameknite/bevy_game itch.io page: https://ameknite.itch.io/bevy-game github pages: https://ameknite.github.io/bevy_game/

ameknite commented 1 year ago

I changed the environment variables and inputs to Strings instead of Booleans because GitHub doesn't allow more than 10 inputs in a manual workflow :/ (https://github.com/orgs/community/discussions/8774)

This way, when we add more build or publish targets, we won't hit the limit. I also think this looks better.

Screenshot 2023-09-21 at 14 33 24

rparrett commented 1 year ago

How does this behave when a user hasn't configured github pages or itch?

(Opinion) I feel like if a user has chosen to deploy to GH pages and GH pages is not configured, then they should see an error that points in the right direction. Ditto itch. If that's the case though, I don't think it makes sense to deploy to either of those platforms by default. Users using the workflow for the first time would just be bombarded with errors.

ameknite commented 1 year ago

@rparrett You are right, It was set up that way, I just added itchio and pages for testing and forgot to remove them. Fixed.

idanarye commented 1 year ago

What's the usecase for the manual workflow? Are users expected to set all the fields every time they use it, or to update the YAML to the settings they normally use? If it's the latter - wouldn't it be simpler and easier to use if the manual workflow only asks for the tag version, and does not allow modifying anything else?

ameknite commented 1 year ago

Well, I see environment variables as your default settings, which you want to maintain for every time you release a new version of your game.

I consider the manual workflow more flexible to allow testing a platform without having to change your default configuration

mockersf commented 1 year ago

Looks good to me, but I worry this takes the workflow over a complexity threshold...

Could you try splitting it in several files, using https://docs.github.com/en/actions/using-workflows/reusing-workflows?

ameknite commented 1 year ago

@mockersf I update the pr, now every build and release has its own file using workflow calls