Conversation
Trying to reproduce the issue where the Multilingual App Toolkit extension takes a long time (10/20 minutes)
- New parameters for launching the main script: - MonitorProcessInfo (false) - regularly print the process object tracking VSIXInstaller to get a basic level of information about it. - OutputDetailedInfo (false) - Output to terminal all associated logs with VSIXInstaller as they're written, rather than a more normal amount. - Adding VSCode debug launch configs, with the default being for the MATS extension (debugging slow installation)
- Adding error preference to stop the script in case of problems that need to be fixed - Expanding some global variables for reference later in the script
- Removing /a admin switch since this script should be run as administrator to begin with, and the /a switch may cause VSIXInstaller to try to request admin rights with a UAC dialog which cannot be caught by the script. With this way, it should quickly fail for further investigation. - Removing -Wait argument and assigning `Start-Process` output to a variable so the object is returned quickly, and script execution can continue to monitor progress. This will become useful in the next commit.
- Use FSWatcherEngineEvent to monitor the temp directory for logs that are written by VSIXInstaller, and print them out in (near) real time as allowed by the writer. This is configurable by the user through previously added argument. - Because we returned the process object earlier, the script can now sit in a loop waiting until the main VSIXInstaller process exits. This allows for - Regular monitoring of the Process object (shows information such as CPU use) - Monitoring of desired log files for printing directly to the console (hopefully to help with long install times) - Updated cleanup code accordingly - Check if VSIXInstaller exited with an abnormal exit code, and if so, find any exceptions and print them out - Also avoid exiting the terminal if not in a github workspace
- Updating action definition to include script parameters, as well as provide a convenient output for users to find VSIXInstaller's log files. - Standardizing input naming convention on camel case for readability and consistency - note that this changes the original parameter named "packagename"!
- Dividing up two separate tests in the action testing workflow to take advantage of concurrency - Changing the MAT test to enable process monitoring, as well as confirming the action output at the end.
408e302 to
b7aea69
Compare
5b2957e to
57c93cc
Compare
f4bb3f7 to
296468c
Compare
5 tasks
- Properly split PowerShell script call across multiple lines
- Simplify job names/IDs
- "Force" module installation to work around workflow issue ("User declined to install module")
- Simplified main loop condition
- Making it clear that log files are always in the $TEMP directory.
- Making file watcher activity print to host (to debug GitHub worker quirks)
- Slightly slow down loop
- Install packages correctly according to GitHub
- Attempt to grab logs in one test
- Add workflow dispatch
- Updated tests to take advantage of this for further troubleshooting
- Fix reference to envars in action
- Fix action variable syntax in tests
- More detailed file events, updated launch json
- Make boolean parameters into switches
- Test gen log path
- Cleaned up parameter definitions, fixed VSCode debug launch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Multilingual Application Toolkit extension (ID
dts-publisher.mat2022) takes a long time to install for people using GitHub-hosted runners. Improvements are being made to troubleshoot and fix the issue.See also