-
Notifications
You must be signed in to change notification settings - Fork 7
integration test on Windows CI #113
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
Conversation
|
…ject generation avoid XCode on non-Apple platforms.
|
I'm certain a lot of effort went into this - which is great. While I'm 100% sure we want to support and test consuming the packages on MacOS, Windows and Linux, I'm less convinced that we want to support development of the packages across platforms. I've been burned by this approach in the past. It comes with significant complexity (as witnessed by these effort put into this PR) and I've found it to be brittle in past experiences too. If I'm not developing on Windows, there's little incentive to keep it building when stuff gets tough and eventually breaks. I'd like to open up the discussion for the other folks at Callstack before committing to this. |
| process.exit(1); | ||
| } | ||
|
|
||
| const fullCommand = `${baseCommand} ${platformFlags}`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could extend the CLI to have an --all-supported flag which would include all triplets which are supported by the platform. I think that would make this a bit more DRY, solve the immediate issue and provide a feature for users too.
This expands test coverage on Windows and Linux CI, validating the node-add on integration test.
Some cross-platform utilities/abstractions were needed to fix platform-specific issues, but consuming code is still clean and readable.
Added a unit-level test to have a cheap way to validate the pathing and shell-specific commands don't break again in the future.