Roblox / roact

A view management library for Roblox Lua similar to React
https://roblox.github.io/roact
Apache License 2.0
557 stars 143 forks source link

Wally publish could be automated with GitHub Actions #374

Open Corecii opened 1 year ago

Corecii commented 1 year ago

The most recent release of Roact is version 1.4.4, but the most recent version on Wally is 1.4.2. There have been a few requests to get Roact updated in the wally index since these releases include fixes to Luau typings.

Links:

Additionally, it looks like wally.toml is out of sync with the index: the most recent version published to the index is 1.4.2, but the version in wally.toml is older at 1.4.0. Was the version bump for wally.toml not committed?

This can be resolved by:

  1. Upping the version in wally.toml to 1.4.4
  2. Running wally publish using Wally after authenticating Wally with GitHub
Corecii commented 1 year ago

If publishing to Wally is not a habit, or if most engineers that publish releases do not have Wally on their computers, consider publishing using a GitHub action whenever you make a normal release!

Details You may want to automatically up the `wally.toml` version to the release tag's version if updating `wally.toml` isn't a habit. To get wally, you can add it to `foreman.toml`: ```toml wally = { source = "UpliftGames/wally", version = "0.3.1" } ``` To log in, you can generate an `auth.toml` on your local PC then store it in a GitHub secret. The action can then copy the file to the write place so that Wally is authenticated: ```yaml - name: Log in to wally env: WALLY_AUTH: ${{ secrets.WALLY_AUTH }} run: | mkdir ~/.wally printenv WALLY_AUTH > ~/.wally/auth.toml - name: Push update to wally run: wally publish ```
Corecii commented 1 year ago

I realize now after speaking with others that Uplift has been handling updating these packages on Wally. I was initially confused because I figured Roblox was doing the publishing since there's a wally.toml in the official repo.

I'll leave this issue around to document how this can be confusing and how GitHub Actions can make this automatic. I think the ideal result here is that GitHub Actions handles all of the Wally stuff for you, so that you're the publisher of these packages and you don't have to think about it or do extra work on release.