Skip to content
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

Cannot easily generate bash RunTests scripts from Windows, and vice versa #69555

Open
directhex opened this issue May 19, 2022 · 3 comments
Open

Comments

@directhex
Copy link
Contributor

Description

There are cases where we might want to do a build on a Linux/Mac system, but the Helix queue for execution is Windows (or vice versa). In fact, this is already the case for Android, where our device queue is on Windows but are builds are all on Linux, or Wasm where our builds are on Linux but the browser queue is Windows. However, for these cases, we rely on the Helix SDK to generate run scripts (e.g. submitting a list of APK files to Helix and allowing Helix to decide what the test runner scripts should be).

There may be cases where we need to generate a script, as we do for most test runner cases, but build/submit a script which doesn't match the build OS. Rudimentary support for this is included in #66147 but relies on a yaml parameter to switch behaviour.

IMHO we should probably always generate both .sh and .cmd test scripts for all cases where that could make sense (e.g. Android)

Reproduction Steps

Build tests subset for Android, look in a test directory

Expected behavior

Test runner script for both Windows and Mac/Linux, so the test can be easily run on a second machine

Actual behavior

Only Runtests.sh exists

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

@ghost ghost added the untriaged New issue has not been triaged by the area owner label May 19, 2022
@ghost
Copy link

ghost commented May 19, 2022

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are cases where we might want to do a build on a Linux/Mac system, but the Helix queue for execution is Windows (or vice versa). In fact, this is already the case for Android, where our device queue is on Windows but are builds are all on Linux, or Wasm where our builds are on Linux but the browser queue is Windows. However, for these cases, we rely on the Helix SDK to generate run scripts (e.g. submitting a list of APK files to Helix and allowing Helix to decide what the test runner scripts should be).

There may be cases where we need to generate a script, as we do for most test runner cases, but build/submit a script which doesn't match the build OS. Rudimentary support for this is included in #66147 but relies on a yaml parameter to switch behaviour.

IMHO we should probably always generate both .sh and .cmd test scripts for all cases where that could make sense (e.g. Android)

Reproduction Steps

Build tests subset for Android, look in a test directory

Expected behavior

Test runner script for both Windows and Mac/Linux, so the test can be easily run on a second machine

Actual behavior

Only Runtests.sh exists

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

Author: directhex
Assignees: -
Labels:

area-Infrastructure-libraries, untriaged

Milestone: -

@janvorli
Copy link
Member

@directhex I wonder - some of the coreclr tests have native components that need to be built on Unix. How would you handle that aspect if you wanted to build the managed stuff and generate the scripts on Windows?

@directhex
Copy link
Contributor Author

Good question. Not sure!

@carlossanlop carlossanlop added this to the Future milestone Jun 1, 2022
@carlossanlop carlossanlop removed the untriaged New issue has not been triaged by the area owner label Jun 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants