The New Ren-C GitHub Action: Run Natively, Run on Web!

So I went through the pain and suffering of learning how to do this.

It's a small thing in some sense, but very high leverage!

A First Draft of a Quite Useful Ren-C Action

  • It auto-detects your platform (Windows, Linux, MacOS) and downloads an R3 Executable for that platform

  • It uses GitHub Actions caching to remember where it installed itself, so multiple steps can use the executable without doing multiple downloads

  • It adds the r3 executable to your path, so you can use it from bash as well as with inline script code

  • ...and as a bonus feature... It can run script code in the web build via browser automation, so you can use it to test scripts intended to be run on the web as well.

You can see how much nicer the web build test got by using it. The Python code that lived in the ReplPad tests directory as well as the shell code for the web build are now both moved into the ren-c-action, and it's generalized. This should make it easy to add the action to a repository that is something like @gchiu's NZPower.

There are a bunch of comments in the source so you should be able to get the idea. There's a few sticks and glue holding it together, but I think the basic approach is sound.

The main problem it has right now is that we don't have the latest builds getting uploaded. So the next step for this to be useful will be to restore the uploading for OS X / Linux / Win32 builds.

2 Likes