Commit Graph

16 Commits

Author SHA1 Message Date
Richard Fawcett
55b67c2d42 Update access and modified dates of referenced manifests files during Rocket cleanup.
Adding a TouchFile method to CommandUtils as part of the solution.

[CL 2678465 by Richard Fawcett in Main branch]
2015-09-03 09:27:43 -04:00
Peter Sauerbrei
34146c450d refactored Log to LogLog and LogConsole to Log
#uat

[CL 2662556 by Peter Sauerbrei in Main branch]
2015-08-20 09:37:11 -04:00
Paul Fazio
9464c5e0d6 UEB-327 - Signing process should fail over to alternate timestamp server when we receive "The specified timestamp server either could not be reached or returned an invalid response"
#codereview Ben.Marsh, Peter.Sauerbrei

[CL 2652815 by Paul Fazio in Main branch]
2015-08-12 11:03:28 -04:00
Wes Hunt
e2783d981e Add additional telemetry to TempStorage. Moved TelemetryStopwatch out of CommandUtils. Added DateTimeStopwatch to make timing things easier.
[CL 2646031 by Wes Hunt in Main branch]
2015-08-05 22:16:45 -04:00
Wes Hunt
585af51d15 TempStorage Refactor
GUBP High Level
* Temp Storage is zipped into a single archive per node now. This results in ~75% reduction in temp storage usage and network traffic, not to mention the per-file overhead.
* Temp Storage is in P:\\Builds\\{Game}\\TmpStore instead of P:\\Builds\\{Game}\\GUBP (to facilitate easier cleaning of this new structure).
* Temp Storage nodes are in subdirectories of {Branch}\\{CL}\\{NodeName} now instead of a flat directory structure that was hard to manually sift through.

GUBP Mid Level
* Removed -Store= and -StoreSuffix= test parameters.
* Added -NoZipTempStorage parameter to turn off temp storage zipping if necessary.
* Created GUBP.JobInfo class that collects info about the job as a whole to be passed around by GUBP. Mostly used by any code that need to interact with TempStorage.
* Created TempStorageNodeInfo that describes the necessary parameters to find the temp storage location for a node.
* Fully XML commented TempStorage.cs, and commented internals all major functions.
* Added a bunch of telemetry data for storing, retrieving, and cleaning shared temp storage.

UAT Mid Level
* Fixed a bug in Ionic.Zip that make ExtractAll() not work on Mono, checked in new DLLs.
* Added UAT parameter -UseLocalBuildStorage that allows you to test build storage stuff completely locally. Writes to Engine\\Saved\\LocalBuilds\\...

GUBP Low Level
* Refactored some GUBP startup code so temp vars would be limited in scope. Makes it easier to track the impact of refactoring these things.
* CullNodesForPreflight is only called for preflight builds.
* Refactored TempStorage.FindTempStorageManifests to use new TmpStore structure and harden the brittle string/path parsing it was doing. See the new TempStorage FindMatchingSharedTempStorageNodeCLs().
* Refactored TempStorage Saving and Loading to use XDocument instead of older XmlDocument. Removed a bunch of redundant checks.
* Use StripBaseDirectory and MakeRerootedFilePath to remove the brittle directory manipulation code. Directories no longer require a '/' at the end.
* Removed a few redundant caching layers in cleaning temp storage that try to ensure we don't clean a folder twice. None of them were necessary.
* Removed unused single-threaded copy code from temp storage.
* Updated Temp Storage unit test, and fully commented the logic behind it.

UAT Low Level
* UAT top level exception handler is now a single log line now to help parsers find the error.
* Removed several uses of FormatException as it doesn't display the entire exception chain, and is not as good as the default exception formatter.
* Removed ExceptionToString as it used FormatException, which was not a good precedent.
* Fixed several cases of exception propagation that was not properly chaining the inner exception.
* Refactored ThreadedCopyFiles to use Parallel.For because it was just as fast (if not faster) and much simpler to maintain.
* Removed the suffix from Robust_FileExists_NoExceptions because it's sole purpose in life WAS to throw exceptions!
* Added a bunch of XML doc comments to CommandUtils.
* Modernized some container manipulation and iteration to use IEnumerable and extension methods more appropriately.
* Added several @todos for other minor cleanup stuff that should happen eventually.
* Fixed some uses of String.Compare to use invariant culture.
#codereview:ben.marsh

[CL 2644846 by Wes Hunt in Main branch]
2015-08-05 10:22:11 -04:00
Richard Fawcett
95a659a830 Fix up calls to construct AutomationException(string Message, Exception Ex), as this overloaded constructor has been removed.
The overloaded constructor was removed in CL 2605826, so all existing calls are being interpreted as AutomationException(string Message, object[] Params), causing runtime failures when Message does not contain a replacement placeholder "{0}", and potential unwanted behavior if it does.

#jira OPP-3951
#codereview Wes.Hunt, Leigh.Swift

[CL 2643334 by Richard Fawcett in Main branch]
2015-08-04 09:33:03 -04:00
Wes Hunt
0fff2b2d6f Added additional build telemetry when storing to shared temp storage. Outputs the total file count and total size in bytes.
* ie: UAT.StoreToTempStorage.5.1024
* this can be pulled about by downstream telemetry to measure temp storage performance across the system, and how it's being used in general.

Misc
* Fixed CommanUtils.WriteToFile to add a Newline to match old behavior.
* Added a new feature to the telemetry stopwatch to allow setting a dynamically generated string when finishing the timing.
#codereview:ben.marsh

[CL 2640845 by Wes Hunt in Main branch]
2015-07-31 15:51:24 -04:00
Peter Sauerbrei
7e009894ea fix for invalid option when code signing multiple executables at once
#uat
#codereview ben.marsh, justin.sargent

[CL 2639159 by Peter Sauerbrei in Main branch]
2015-07-30 14:55:28 -04:00
Michael Trepka
d7c5e90831 Merging CL 2632258 - Mac codesign fixes
[CL 2632260 by Michael Trepka in Main branch]
2015-07-24 10:59:55 -04:00
Peter Sauerbrei
dc1d815f84 refactored the logging system for UAT/UBT to be more like UE4
we now use an enum similar to UE4 with Fatal, Error, Warning, Display, Log, Verbose, and VeryVerbose
Log will only go to the log file unless -verbose is passed on the command line
reduced some of the output from UAT to be Log only

[CL 2631062 by Peter Sauerbrei in Main branch]
2015-07-23 14:51:46 -04:00
Wes Hunt
c1672d4beb Remove Remove some redundant and unused functions;
* InternalUtils::ExecutingAssemblyLocation
* InternalUtils::ExecutingAssemblyDirectory
* InternalUtils::ExecutableVersion
* CommandUtils::WriteToFile (one overload not used)
* CommandUtils::ExeFilename
* CommandUtils::ExeDirectory
* CommandUtils::CurrentDirectory
Added:
* Tools.DotNETCommon.AssemblyUtils::ExecutableVersion

[CL 2629222 by Wes Hunt in Main branch]
2015-07-22 14:00:30 -04:00
Peter Sauerbrei
e8d08e52fd UEB-117 - Move secure signing to the platforms
#codereview ben.marsh

[CL 2616956 by Peter Sauerbrei in Main branch]
2015-07-10 14:06:52 -04:00
James Moran
e89583075e emscripten's file_packager.py requires EM_CONFIG is set before it's run.
#codereview ankit.khare

[CL 2615093 by James Moran in Main branch]
2015-07-09 10:31:56 -04:00
Ben Marsh
6e67d700e6 Add a scoped stopwatch class for writing out telemetry events.
[CL 2609657 by Ben Marsh in Main branch]
2015-07-02 16:16:19 -04:00
Wes Hunt
87534725d4 PrintCSVFile detects a file of "nul" and ignores output.
[CL 2609087 by Wes Hunt in Main branch]
2015-07-02 10:27:55 -04:00
Wes Hunt
506f7e64a4 UEB-260 - Break AutomationTool into AutomationUtils that all automation projects depend on, and AutomationTool, which essentially only contains the startup code.
* Remove ErrorReporter.Error, replace with AutomationException with Error Code.
* Move ErrorCodes to AutomationException.
* Don't return exit codes. Solely rely on exceptions to propagate exit codes.
* Remove MainProc delegate
* Remove setting of Environment.ExitCode as it is ignored when main returns an int.
* ShutdownLogging is nothrow, as all exceptions would be ignored anyway.
* Wrap all shutdown steps so further ones get a chance to run.
* Move HostPlatform.Initialize into the global try/catch block
#codereview:ben.marsh

[CL 2605826 by Wes Hunt in Main branch]
2015-06-30 11:40:05 -04:00