Jordan Dominion and GitHub
d39737bcac
Merge pull request #1537 from tgstation/MinorThing
...
Better error message when CI spuriously fails
2023-06-11 18:51:56 -04:00
Dominion
d83baf79cb
Very low effort dox updates
2023-06-11 18:07:00 -04:00
Dominion
b37b1e9879
Better error message when CI spuriously fails
2023-06-11 17:58:31 -04:00
Jordan Dominion and GitHub
5e6dc42a28
Merge pull request #1535 from tgstation/1495-NonGitHubUpdates
...
Non-GitHub Updates
2023-06-11 16:07:22 -04:00
Dominion
cc6833ae1b
Fix ZipToDirectory closing the input streams
2023-06-11 14:34:50 -04:00
Dominion
d6615ee5f6
Rename a variable
2023-06-11 14:34:50 -04:00
Dominion
5a1e74f8cb
Small semantics cleanup
2023-06-11 14:34:50 -04:00
Dominion
26660ae6d0
Fix possibility to drop bufferedStream here on OOM
2023-06-11 14:34:49 -04:00
Dominion
223c017eb5
File transfer code cleanups
2023-06-11 14:34:48 -04:00
Dominion
e9d4abe10d
Merge branch 'dev' into 1495-NonGitHubUpdates
2023-06-11 13:13:25 -04:00
Dominion
3c779415f2
Merge branch 'master' into dev
2023-06-11 12:48:46 -04:00
Jordan Dominion and GitHub
7e7a2ab967
Merge pull request #1534 from tgstation/ByondTopicUpdate
...
Update BYOND.TopicSender to 6.0.0
2023-06-11 12:12:14 -04:00
Dominion
709b2c514e
Trying to track down elusive swarm update errors
2023-06-11 11:19:18 -04:00
Dominion
8950cc1a36
Catch potential IOExceptions when listing a config directory
2023-06-11 10:41:16 -04:00
Dominion
7e0d4a29b8
Add concurrency group to auto approve workflow
2023-06-11 10:39:29 -04:00
Dominion
1e416e202b
Update Byond.TopicSender to 7.0.1
...
Also note this pushes Microsoft.Extensions.Logging.Abstractions to 7.0.0
This fixes instabilities in topic serialization.
Probably fixes #1529
2023-06-11 10:36:48 -04:00
Dominion
90517e653e
Avoid locking swarmServers twice in PerpareUpdate
2023-06-11 10:05:10 -04:00
Dominion
5fa13fdf0f
Minor log message tweak
2023-06-11 10:05:10 -04:00
Dominion
cb6e80f65c
Fix race condition in BufferedFileStreamProvider
2023-06-11 10:05:02 -04:00
Dominion
bf170a3449
Merge branch 'dev' into 1495-NonGitHubUpdates
2023-06-11 02:40:12 -04:00
Dominion
a747a14183
Fix line endings OS mismatch in TestFileDownloader
2023-06-11 02:39:41 -04:00
tgstation-server
03e01a1faf
Merge branch 'master' into dev
2023-06-11 06:06:17 +00:00
Jordan Dominion and GitHub
4388ec41aa
Merge pull request #1536 from tgstation/Cyberboss-patch-1
...
Correct DMAPI Changelog entry name
2023-06-11 02:04:35 -04:00
Jordan Dominion and GitHub
9b24c55c04
Correct DMAPI Changelog entry name
2023-06-10 21:27:03 -04:00
Dominion
a1f26709db
Add API support for uploading custom TGS updates
...
- New `ServerUpdateRequest` field `uploadZip`.
- New Administration permission for this.
- `ServerUpdateResponse` will now contain a transfer ticket if set.
- Live tests.
This is super easy after the work done in 09208ade36
2023-06-10 20:53:29 -04:00
Dominion
5c778e7ceb
Merge branch 'dev' into 1495-NonGitHubUpdates
2023-06-10 17:33:39 -04:00
Dominion
e596110018
Clean up Tgstation.Server.Common
...
- Move classes to `Http` namespace.
- Give it a unique package version.
- Comment to make me not rage update Nuget libs to .NET 6.
2023-06-10 17:04:04 -04:00
Dominion
41c33684f6
Removes an unused using
2023-06-10 17:04:03 -04:00
Dominion
716fb0c5fd
Extract some more constants into SwarmConstants
...
This stops a class coupling warning.
2023-06-10 17:04:03 -04:00
Dominion
6ae07f404a
Massive readibility improvement for swarm updates
...
- Extract dubiously guarded `SwarmService` variables into `volatile` handler class with `Interlocked` writes.
- `SwarmService.Abort` can no longer be cancelled, but it short circuits more easily.
- Improved `SwarmRpcMapper`'s handling of `CancellationToken`s.
2023-06-10 17:03:59 -04:00
tgstation-server
5e7a2737b1
Merge branch 'master' into dev
2023-06-10 20:36:34 +00:00
Jordan Dominion and GitHub
c70bb39269
Merge pull request #1532 from tgstation/BuildFix
...
Fix CI: `mysqladmin` is gone in latest mariadb
2023-06-10 16:35:22 -04:00
Dominion
dfd903c140
Fix name of test class
2023-06-10 16:13:34 -04:00
Dominion
09208ade36
Swarm updates single source downloads
...
When running a distributed swarm server update, only the initiator server will download the update package directly from GitHub. It will then make the package available to the other nodes via a `SwarmController` hosted variant of the `FileTransferService` which they will use to retrieve their copies of the package.
Because of this, it's possible for the update package to be accessed via the regular `TransferController` duing this process. This is acceptable for three reasons:
- We use crytographically secure strings for the transfer service tickets
- If a malicious user steals one or more of the Swarm's update package tickets, the update will simply be aborted.
- An update package is not considered secure data what with this being OSS.
2023-06-10 16:13:29 -04:00
Dominion
2b3fa1fa0c
Code cleanups in TestLiveServer
2023-06-10 12:32:52 -04:00
Dominion
1e0c4183fe
Bunch of async file stream changes
...
- `DelayedFileDownloader` changed into `RequestFileStreamProvider` which provides a direct network stream.
- `CachedResponseStream` now only caches the `HttpContent` as opposed to the `HttpResponseMessage`.
- `IFileDownloader` now synchronously returns `IFileStreamProvider`s.
- `FileDownloader` now returns `RequestFileStreamProviders`.
- Added `ISeekableFileStreamProvider`.
- BufferedFileStreamProvider now implements `ISeekableFileStreamProvider`.
2023-06-10 12:30:41 -04:00
Dominion
70436803f0
Merge branch 'dev' into 1495-NonGitHubUpdates
2023-06-10 12:02:48 -04:00
Dominion
160bd3165d
Extract some Controller methods into extensions
2023-06-10 11:21:17 -04:00
Dominion
873b4cf8c8
Remove a superfluous file read
2023-06-10 11:21:17 -04:00
Dominion
c197641267
Make IFileDownloader return the network Stream directly
2023-06-10 11:21:15 -04:00
Dominion
22c3f591fe
Allow specifying HttpCompletionOption in IHttpClient
2023-06-10 11:18:21 -04:00
Jordan Dominion and GitHub
dbf186c4b8
Fix Auto Approve Workflow
2023-06-10 11:07:36 -04:00
Dominion
9ea8bdd457
mysqladmin is gone in latest mariadb
...
Use `mariadb-admin` instead. See https://github.com/MariaDB/mariadb-docker/issues/512
2023-06-10 10:54:04 -04:00
tgstation-server
3d71915af8
Merge branch 'master' into dev
2023-06-10 00:05:52 +00:00
Jordan Dominion and GitHub
3597b47794
Merge pull request #1530 from tgstation/CodeQLVar
...
Variable for enabling CodeQL + Documentation Updates
2023-06-09 20:04:36 -04:00
Dominion
eb0c631e84
Handler for another possible DumpTests exception
2023-06-09 13:41:34 -04:00
Dominion
34386e590a
Fix bad IHttpClient usage in GenericOAuthValidator
2023-06-09 13:33:03 -04:00
Dominion
56741b8ddd
Switch from bool to enum to increase specificity
2023-06-09 13:31:26 -04:00
Dominion
2930394baf
Cleanup WatchdogTest
2023-06-09 13:25:29 -04:00
Dominion
35025c01f3
Fix an error in expired configuration uploads
2023-06-09 13:25:11 -04:00