Closed cclauss closed 3 months ago
@dhritzkiv Your review, please. It would be great to have automated testing.
Thank you for taking this on! It will be great to have CI in one, hassle-free place.
A few questions:
ubuntu-latest
is excluded?As for angle upgrades, I'd keep it separate from this PR.
Please merge this so we have tests in place. Then in future PRs we can add more OSes, Node versions, builds, and releases.
I intend to.
This is a good start, but I'd love to see the tests passing primarily on Node v20 on Linux and Windows first. (Node v16 or v18, as well as macOS tests would be a bonus, but are not necessary).
Right now, this CI configuration, as the majority of images are excluded/failing, doesn't offer much over Travis CI. Granted, this configuration does works better than Appveyor for Windows tests (as that CI environment has been non-functional for us for the last 6 months), so I suppose this PR is a net-positive in that regard.
I'll concede that prebuilds/packaging/releasing can be added later.
Ultimately, I don't see a point merging this in a half-working state, unless I'm missing something?
Do you pay for Travis CI or are you working on free credits?
It seems lik 10386 no plan found
is the test that fails on Appveyor as well as GHAs. I do not have the expertise to fix that test.
As said above, it is much easier to enable tests after the guardrails are in place.
Do you pay for Travis CI or are you working on free credits?
Working on free OSS credits.
Travis credits will run out really fast.
Yes, that's why I limited Travis to run only on the latest two LTS version of Node on Ubuntu. No other versions of Node, and no macOS.
Once in a while, we run out of credits, but reaching out to Travis helps to replenish them. Not ideal, but not the worst.
Migrating to GitHub actions will help avoid this, for sure.
Many years ago, we used to get intermittent no plan found
errors in our tests (both in Travis, AppVeyor, and locally), and almost always the workaround was to re-run the tests.
Eventually, these stopped happening entirely, whether due to using newer versions of Node, or updated test-running dependencies. Everything was good for about 4 years. Unfortunately, it seems these errors are back. :/
It looks like your contribution in #280 failed the first time, but succeeded on a subsequent run. This might suggest that re-running GitHub actions until they succeed might be the temporary answer.
Is it possible to force a Github action workflow run to be re-run if it failed? Doing so manually would be fine.
Okay, I see that these tests are flaky, and has nothing to do with the configuration/environment of the GitHub Actions specifically.
I see your latest commits restore the other OSes, and they are surprisingly passing.
I will merge this MR later this evening.
All passed at https://github.com/cclauss/headless-gl/actions
https://github.com/coactions/setup-xvfb was the key to Ubuntu.
https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
Test results: https://github.com/cclauss/headless-gl/actions
https://chromium.googlesource.com/angle/angle might be a better of modern angle.