TabFS
TabFS copied to clipboard
Create CI build workflow for macOS and Linux
Hi! Its been awhile since PokeNet... almost a decade now? I noticed your new project and decided to mess with it some.
Currently this just builds the TabFS native messaging host binary on macOS and Linux.
The latest version of Homebrew has a cask for fuse 4.0.5, but the macOS build VMs have an older version, so brew update is required for now, even though it is slow.
I set it to add the compiled tabfs binary as an artifact, though that could easily be changed to just include the entire build workspace for sanity checking any other output files.
Will need to play some with chrome headless and see if it will work for running the tests -- compiling the test binary also seems to be excessively slow (10+ minutes), so that's another thing that will need sorting out.
hey Ryan! Good to hear from you. yeah been a while!
This is cool. I think it'll be pretty useful to be able to platform-check pull requests that come in.
Could we ship our own macFUSE right into the build VM?
I do think it would be good to add the tests if you have time -- I could also look at that myself; let me know. Any idea why it takes so long to build?
There's not a convenient way to ship a custom macOS build VM, macOS Docker containers would be nice. I asked GitHub if they can add a version of homebrew that has the macFUSE cask already in it so brew update can be removed -- the alternative to brew is download a dmg and install it.
The build timed out at 6 hours, so I can finally see the error log. It looks like the tests compiled fine, but timed out when they couldn't find the FUSE filesystem: cannot create ../fs/mnt/runtime/reload: Directory nonexistent
I guess I expected make to just build the test binary, but since it tried to run the tests the failure makes sense. I'll need to read up some on headless chrome and try using it in the GitHub Actions VMs; shouldn't be too hard to get the tests working after it's running.
Response from GitHub was that a new VM with a version of Homebrew (2.7.3) with macFUSE 4.0.5 will be deployed next week.
Current status of running tests:
- I can start Chrome on Linux and macOS
- When starting Chrome not-headless on macOS, it pops up a "first run" dialog asking if you want to send usage statistics; not sure if this will be a problem when running headless or if that skips the "first run" checks
Cool! Sounds promising so far