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

Wrap custom user Helix payloads into the Helix SDK job scripts #590

Closed
premun opened this issue May 5, 2021 · 4 comments · Fixed by dotnet/arcade#7582
Closed

Wrap custom user Helix payloads into the Helix SDK job scripts #590

premun opened this issue May 5, 2021 · 4 comments · Fixed by dotnet/arcade#7582
Assignees
Labels
android Android area apple iOS/tvOS/WatchOS/Mac Catalyst area infrastructure Connected to Helix infrastructure

Comments

@premun
Copy link
Member

premun commented May 5, 2021

Context
The Helix SDK has wrapper scripts for execution of XHarness payloads that does tricks around user sessions, signing, re/starting of the simulator and so on. The iOS payloads won't work without it. The point of having the Helix SDK is to capture these necessities and make it transparent for the user who doesn't know the specifics of the environment setup.

Problem
The newly added commands (install, just-run, just-test, uninstall) are supposed to allow the user to drive the execution.
However, when we create a Helix job that lets the user to run their own payload (Helix SDK only pre-installs .NET and XHarness on the Helix machine for the user), the user has to know to also execute the wrapper script somehow. They will fail to execute the job because:

  • For devices, the app won't be signed
  • For Simulators, the Simulator.app process won't be reachable (requires launchctl asuser)
  • Clean up actions based on XHarness exit code won't happen (e.g. retry + reboot)

Goal
The Helix SDK has to wrap user's payload in the wrapper script mentioned above and execute it in that context. For that, the API has to be most likely changed so that user cannot execute their payload on its own. It is part of this issue to figure out how.

@premun premun added apple iOS/tvOS/WatchOS/Mac Catalyst area infrastructure Connected to Helix infrastructure labels May 5, 2021
@premun
Copy link
Member Author

premun commented May 5, 2021

@imhameed not sure how far you are with running the install, just-run, uninstall commands in Helix, but I realized today that it won't work until the above happens.

premun added a commit to premun/xharness that referenced this issue May 5, 2021
@imhameed
Copy link

imhameed commented May 5, 2021

Good to know. So far I've been prototyping with apple run, so I haven't encountered this yet.

premun added a commit that referenced this issue May 5, 2021
…t` commands (#588)

Tests are not turned on yet because of #590 and #574
@premun premun changed the title Wrap custom user Helix payloads inside of the Apple runner Helix SDK scripts Wrap custom user Helix payloads into the Helix SDK job scripts May 5, 2021
@premun
Copy link
Member Author

premun commented May 5, 2021

@imhameed roughly when do you think this will start to block you? The commands work on your local just won't work in Helix. Android commands would work in Helix.

@premun
Copy link
Member Author

premun commented May 5, 2021

I just got this work prioritized because I see it will be a blocker for you. I estimate around 4 days of work so it would be ready next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android Android area apple iOS/tvOS/WatchOS/Mac Catalyst area infrastructure Connected to Helix infrastructure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants