Commit Graph
532 Commits
Author SHA1 Message Date
Jordan ffd2786fc9 Only test topic limits + 1 in tests
Fixes #1540
2023-06-16 04:36:52 -04:00
Jordan a298ba4f1e Merge branch 'dev' into 1458-AddMapThreadsParam 2023-06-16 02:16:35 -04:00
Jordan DominionandGitHub ea4c5c4ef3 Merge pull request #1547 from tgstation/HeadTailPrePop
Populate `HeadInclude.dm` and `TailInclude.dm` on instance creation
2023-06-15 08:52:17 -04:00
Dominion fb47ad5ba6 Revert the config change for not using DD.exe
It presents complications with pre-existing TGS setup firewall rules.
2023-06-15 03:53:10 -04:00
Dominion 174ac5c760 Populate HeadInclude.dm and TailInclude.dm on instance creation 2023-06-15 03:32:21 -04:00
Dominion 1a3e0fe1c7 Configuration option to disable dd.exe usage
Fixed issues with testing bridge limits in 515.

Added LiveTests helper to get all DreamDaemon processes.

Assert Live tests port usage is >= 10000 to ensure we get maximum url length for bridge tests.
2023-06-15 03:30:32 -04:00
Dominion 6ad5f62ef2 Merge branch 'dev' of https://github.com/tgstation/tgstation-server into 1458-AddMapThreadsParam 2023-06-14 15:04:30 -04:00
Dominion 51b7792e15 CachingFileDownloader now builds the cache
- New global CI cache for BYOND zips
- VersionsTest now caches the BYOND versions it tests
- Move some classes around
2023-06-14 14:53:32 -04:00
Dominion 3a631709c0 Merge branch 'dev' into 1458-AddMapThreadsParam 2023-06-14 13:02:49 -04:00
Dominion 4471391b96 ValueTask Tgstation.Server.Client 2023-06-14 12:30:00 -04:00
Jordan DominionandGitHub 4f89cdb6b3 Merge branch 'dev' into HealthCheckHeartbeartContinuation 2023-06-14 11:44:41 -04:00
Dominion 0efe58fe6b Add new API fields for HealthChecks
- Migrate database to these
- Deprecate Heartbeat fields
2023-06-14 11:44:20 -04:00
tgstation-server 7db8db0ce7 Merge branch 'master' into dev 2023-06-14 05:59:17 +00:00
Dominion e1d98d3c2b Wait 10 minutes before timing out DB in GitHub Actions 2023-06-13 21:43:31 -04:00
Dominion e6f142d927 Cleanup DummyChatProvider 2023-06-12 20:43:49 -04:00
Dominion 8af2ff539e Replace ifs with ArgumentNullException.ThrowIfNull 2023-06-12 20:43:29 -04:00
tgstation-server 2acebd4c2f Merge branch 'master' into dev 2023-06-11 22:53:08 +00:00
Dominion b37b1e9879 Better error message when CI spuriously fails 2023-06-11 17:58:31 -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
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 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 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 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 c197641267 Make IFileDownloader return the network Stream directly 2023-06-10 11:21:15 -04:00
tgstation-server 3d71915af8 Merge branch 'master' into dev 2023-06-10 00:05:52 +00:00
Dominion eb0c631e84 Handler for another possible DumpTests exception 2023-06-09 13:41:34 -04:00
Dominion 2930394baf Cleanup WatchdogTest 2023-06-09 13:25:29 -04:00
Dominion ba6f085f21 Merge branch 'master' into dev 2023-06-08 08:30:22 -04:00
Dominion 425386a528 Another dump tests error fix 2023-06-07 19:31:41 -04:00
tgstation-server 746a932978 Merge branch 'master' into dev 2023-06-07 07:14:22 +00:00
Dominion e586102381 EVEN MORE DUMP TESTS EDGE CASES
I fucking hate this test
2023-06-06 23:17:01 -04:00
Dominion d41715c512 More dump tests edge cases 2023-06-06 23:05:27 -04:00
Dominion eba904e700 Fix a log message and dump tests edge case 2023-06-06 23:03:58 -04:00
Dominion a9074b3186 Starting to narrow down that spurious Live tests socket error 2023-06-06 22:49:06 -04:00
Dominion 6a54236969 Prefer DisposeAsync over Dispose where possible 2023-06-05 21:50:28 -04:00
Dominion e71a34a919 Increase a test timeout 2023-06-05 21:27:52 -04:00
tgstation-server 6f6f27cd7c Merge branch 'master' into dev 2023-06-05 21:06:36 +00:00
Dominion 489b7b7e5d Fix race condition in RepositoryTest 2023-06-05 10:52:09 -04:00
Dominion 08c93ecac6 Tests are so fast now it's hard to catch this 2023-06-05 09:38:28 -04:00
Dominion 9c5f4bad26 Hashing Uri's doesn't work that way
Also fix CachingFileDownloader Cleanup
2023-06-04 16:07:22 -04:00
Dominion 81b0734dc9 Actions hates ~ apparently 2023-06-04 15:41:38 -04:00
Dominion 0158b6330d Do not delete release cache between tests in CI 2023-06-04 14:51:36 -04:00
Dominion 937835a563 Fix ordering for remote GitHub features initialization 2023-06-04 14:27:24 -04:00
Dominion 0e187a430d Add a caching FileDownloader for CI to be nice to Lummox 2023-06-04 14:26:21 -04:00
Dominion baac58ec92 Actually enable the GitHub token for remote git feature testing 2023-06-04 14:03:00 -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