31 Commits

Author SHA1 Message Date
Jordan Dominion 5a37062d76 Support sensitive event script parameters 2026-01-11 15:31:44 -05:00
Jordan Dominion 3c46164515 ThrowsExactly conversion except harder 2025-08-01 19:37:43 -04:00
Jordan Dominion f0cac0e810 Switch to using IFileSystem on the backend for file operations 2025-07-20 22:29:57 -04:00
Jordan Dominion bfc2e64e66 Set oom_score_adj appropriately on Linux
Closes #1792
2024-03-03 13:33:56 -05:00
Jordan Dominion 4993304389 Add support for setting environment variables with IProcessExecutor 2024-01-30 20:53:00 -05:00
Jordan Dominion c06af41041 Cleanup some messages 2023-12-16 11:23:44 -05:00
Jordan Dominion 6ce9695533 Redo Process output reading to better workaround https://github.com/dotnet/runtime/issues/28583
Also test harder
2023-12-16 11:23:44 -05:00
Jordan Dominion 4537845e0b Make this workaround generic 2023-11-16 22:10:36 -05:00
Jordan Dominion 20428736ec Merge branch 'master' into dev 2023-10-22 19:59:03 -04:00
Jordan Dominion fd6de0fee2 Rename *SymlinkFactory to *FilesystemLinkFactory to better reflect new behavior 2023-10-21 18:42:19 -04:00
Jordan Dominion 8b59884bf9 Final ValueTask conversion 2023-10-07 17:41:19 -04:00
Jordan Dominion 4eb19e7263 Change Processes to use .WaitForExitAsync()
- Remove custom exit handler.
- Move exit handling into `Tgstation.Server.Host.System.Process`.
- Adjust `IProcessExecutor.LaunchNew` signature.
- `IProcessBase.Lifetime` result now nullable to represent a detach.
- Await `Lifetime` in dispose.
2023-07-04 18:01:41 -04:00
Jordan f1f0a350d6 PosixWatchdog doesn't need hard links
- Added ISymlinkFactory.SymlinkedDirectoriesAreFiles because they are files on Linux.
- Removed crazy-ass hard link junk from PosixWatchdog.
- Added symlink unit tests.
2023-06-16 18:23:29 -04:00
Dominion 395ee7d316 Add DummyGitHubService for live testing
- Also enable repo additional features for testing if possible
- Change a bunch of `TestInitialize`rs to `ClassInitialize`rs
2023-06-04 13:15:09 -04:00
Dominion 43e1fec1b0 Move a bunch of non-core classes to new Utils namespace
- Clean up VS messages, primarily in SessionController.cs
2023-04-23 13:42:16 -04:00
Dominion a1b5dbe6ac Abstract HttpClient and FileDownloader
- Set all requests to use assemblyInformationProvider UserAgent by default.
- Removed DefaultIOManager's dependency on IAssemblyInformationProvider.
- Fixed bad Dispose scope for requests under construction in SwarmService.
2023-04-21 03:15:39 -04:00
Dominion d929ed6fec Add support for reading DD output to file 2023-03-31 20:38:10 -04:00
Jordan Brown 6960525688 Update to .net-6.0. Fix errors and warnings
- Address various IDE messages
- Additional logging
- Do not access DB in Watchdog's actual Dispose
- Fix issue with legacy behaviour in PGSQL
- Remove obsolete dotnet workaround
- Update to v3 actions checkout/upload-artifact/download-artifact
2022-09-13 18:41:18 -04:00
Jordan Brown ca5f0d74f8 My give up. My give up 2021-08-10 20:04:35 -04:00
Jordan Brown c9bd62548a Fix Posix signal handling 2021-08-10 19:57:40 -04:00
Jordan Brown 17bae4909e Trying with a subprocess 2021-08-10 14:54:43 -04:00
Jordan Brown a2fb0bbe45 Graceful shutdowns on POSIX
- Sending `SIGUSR1` on POSIX will now attempt to gracefully shutdown the watchdog with a timeout
- Added `General:ShutdownTimeoutMinutes` config to support this.
- Renamed `General:RestartTimeout` to `General:RestartTimeoutMinutes`
- Config version bump to `4.0.0`
- Core version bump to `4.13.0`
- Added unit tests for new `PosixSignalHandler` class.
2021-08-04 12:34:56 -04:00
Jordan Brown b6ba7332e5 WindowsProcessFeatures cleanup
- Adds logging around Open/Suspend/ResumeThread calls.
- Call Process.Refresh before accessing Process.Threads, potentially fixing issues with a stale thead ID cache.
- Potentially fixes #1279
2021-06-14 22:30:19 -04:00
Jordan Brown b9586c7fee The great stylecop update
Beware those that read into this commit. Here there be style conformance...

Closes #1252
2021-05-09 19:27:09 -04:00
Jordan Brown d460330cab Log message cleanup 2020-07-26 12:58:29 -04:00
Jordan Brown e4255b0a7e Fix test suite 2020-07-18 10:29:36 -04:00
Jordan Brown c7bc6caf37 Fix the build 2020-06-13 14:20:57 -04:00
Jordan Brown fea6deb33c Whatever 2020-05-15 23:14:12 -04:00
Jordan Brown 314b32256c Better assert failure message 2020-05-15 21:48:11 -04:00
Jordan Brown 79b25eca13 Add tests 2020-05-15 14:40:06 -04:00
Cyberboss 284c6c393d Create the System namespace 2020-01-18 20:32:34 -05:00