Skip to content

Create CI build workflow for macOS and Linux #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nightlark
Copy link

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.

@osnr
Copy link
Owner

osnr commented Jan 16, 2021

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?

@nightlark
Copy link
Author

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.

@nightlark
Copy link
Author

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.

@nightlark
Copy link
Author

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

@osnr
Copy link
Owner

osnr commented Jan 18, 2021

Cool! Sounds promising so far

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants