diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml
index e0b21626e2..2ff5809de4 100644
--- a/.github/workflows/ci-pipeline.yml
+++ b/.github/workflows/ci-pipeline.yml
@@ -55,6 +55,7 @@ jobs:
start-gate:
name: CI Start Gate
runs-on: ubuntu-latest
+ timeout-minutes: 1
steps:
- name: GitHub Requires at Least One Step for a Job
run: exit 0
@@ -63,6 +64,7 @@ jobs:
name: Build ReleaseNotes for Other Jobs
needs: start-gate
runs-on: ubuntu-latest
+ timeout-minutes: 5
steps:
- name: Install Native Dependencies
run: |
@@ -98,6 +100,7 @@ jobs:
name: Validate Nix Flake
needs: start-gate
runs-on: ubuntu-latest
+ timeout-minutes: 20
env:
TEST_TGS_VERSION: "6.17.0" # Version we use here doesn't matter as it won't be executed. Just used to download a zip and calc hash
steps:
@@ -148,6 +151,7 @@ jobs:
name: Run CodeQL
needs: start-gate
runs-on: ubuntu-latest
+ timeout-minutes: 15
permissions:
security-events: write
env:
@@ -215,6 +219,7 @@ jobs:
dmapi-build:
name: Build DMAPI
needs: start-gate
+ timeout-minutes: 5
strategy:
fail-fast: false
matrix:
@@ -314,6 +319,7 @@ jobs:
opendream-build:
name: Build DMAPI (OpenDream)
needs: start-gate
+ timeout-minutes: 10
strategy:
fail-fast: false
matrix:
@@ -371,6 +377,7 @@ jobs:
name: Check Nuget Versions Match Tools
runs-on: ubuntu-latest
needs: start-gate
+ timeout-minutes: 1
steps:
- name: Checkout (Branch)
uses: actions/checkout@v4
@@ -428,6 +435,7 @@ jobs:
name: Build gh-pages
needs: build-releasenotes
runs-on: ubuntu-latest
+ timeout-minutes: 10
steps:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
@@ -506,6 +514,7 @@ jobs:
name: Build Docker Image
runs-on: ubuntu-latest
needs: start-gate
+ timeout-minutes: 10
env:
TGS_TELEMETRY_KEY_FILE: tgs_telemetry_key.txt
steps:
@@ -533,6 +542,7 @@ jobs:
linux-unit-tests:
name: Linux Tests
needs: start-gate
+ timeout-minutes: 10
strategy:
fail-fast: false
matrix:
@@ -607,6 +617,7 @@ jobs:
windows-unit-tests:
name: Windows Tests
needs: start-gate
+ timeout-minutes: 15
strategy:
fail-fast: false
matrix:
@@ -668,6 +679,7 @@ jobs:
name: Prepare Live Tests Cache of EDGE Versions
needs: start-gate
runs-on: ubuntu-latest
+ timeout-minutes: 1
steps:
- name: Cache BYOND .zips (Linux)
uses: actions/cache@v4
@@ -708,6 +720,7 @@ jobs:
windows-integration-tests:
name: Windows Live Tests
needs: [dmapi-build, opendream-build, prep-edge-versions]
+ timeout-minutes: 60
strategy:
fail-fast: false
matrix:
@@ -929,6 +942,7 @@ jobs:
linux-integration-tests:
name: Linux Live Tests
needs: [dmapi-build, opendream-build, prep-edge-versions]
+ timeout-minutes: 60
services: # We start all dbs here so we can just code the stuff once
mssql:
image: ${{ (matrix.database-type == 'SqlServer') && 'mcr.microsoft.com/mssql/server:2019-latest' || '' }}
@@ -1120,6 +1134,7 @@ jobs:
name: OpenAPI Spec Validation
needs: windows-integration-tests
runs-on: ubuntu-latest
+ timeout-minutes: 5
steps:
- name: Install IBM OpenAPI Validator
run: npm i -g ibm-openapi-validator@0.51.3
@@ -1145,6 +1160,7 @@ jobs:
upload-code-coverage:
name: Upload Code Coverage
+ timeout-minutes: 5
needs:
[
linux-unit-tests,
@@ -1411,6 +1427,7 @@ jobs:
name: Build .deb Package # Can't do i386 due to https://github.com/dotnet/core/issues/4595
needs: build-releasenotes
runs-on: ubuntu-latest
+ timeout-minutes: 15
env:
TGS_TELEMETRY_KEY_FILE: /tmp/tgs_telemetry_key.txt
steps:
@@ -1576,6 +1593,7 @@ jobs:
name: Build Windows Installer .exe
runs-on: windows-2025
needs: start-gate
+ timeout-minutes: 15
env:
TGS_TELEMETRY_KEY_FILE: C:/tgs_telemetry_key.txt
steps:
@@ -1721,6 +1739,7 @@ jobs:
name: Check winget-pkgs Pull Request Template is up to date
needs: build-releasenotes
runs-on: ubuntu-latest
+ timeout-minutes: 5
steps:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
@@ -1771,6 +1790,7 @@ jobs:
ci-completion-gate:
if: always() && !cancelled()
name: CI Completion Gate
+ timeout-minutes: 1
needs:
[
pages-build,
@@ -2448,13 +2468,6 @@ jobs:
asset_name: tgstation-server-installer.exe
asset_content_type: application/octet-stream
- update-nix:
- name: Nix Deployment
- needs: changelog-regen
- if: (!(cancelled() || failure())) && needs.changelog-regen.result == 'success'
- uses: ./.github/workflows/nix-deployment.yml
- secrets: inherit
-
changelog-regen:
name: Regenerate Changelog
runs-on: ubuntu-latest
diff --git a/.github/workflows/nix-deployment.yml b/.github/workflows/nix-deployment.yml
deleted file mode 100644
index 470913346e..0000000000
--- a/.github/workflows/nix-deployment.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-name: Nix Deployment
-
-on:
- workflow_call:
- workflow_dispatch:
-
-jobs:
- update-nix:
- name: Update Nix SHA (master)
- runs-on: ubuntu-latest
- steps:
- - name: Install Native Packages # Name checked in rerunFlakyTests.js
- run: |
- sudo apt-get update
- sudo apt-get install -y xmlstarlet
-
- - name: Setup Nix
- uses: cachix/install-nix-action@v31
- with:
- nix_path: nixpkgs=channel:nixos-unstable
-
- - name: Generate App Token
- id: app-token-generation
- uses: actions/create-github-app-token@v1
- with:
- app-id: ${{ secrets.APP_ID }}
- private-key: ${{ secrets.APP_PRIVATE_KEY }}
-
- - name: Checkout
- uses: actions/checkout@v4
- with:
- token: ${{ steps.app-token-generation.outputs.token }}
- ref: master
- fetch-depth: 0
- # fetch-tags: true Doesn't work, see https://github.com/actions/checkout/issues/1471
-
- - name: Parse TGS version
- run: echo "TGS_VERSION=$(xmlstarlet sel -N X="http://schemas.microsoft.com/developer/msbuild/2003" --template --value-of /X:Project/X:PropertyGroup/X:TgsCoreVersion build/Version.props)" >> $GITHUB_ENV
-
- - name: Retrieve ServerConsole.zip Artifact
- run: |
- mkdir release
- curl -L https://github.com/tgstation/tgstation-server/releases/download/tgstation-server-v${{ env.TGS_VERSION }}/ServerConsole.zip -f -o release/ServerConsole.zip
-
- - name: Regenerate Nix Hash
- run: |
- nix hash path ./release > build/package/nix/ServerConsole.sha256
- cat build/package/nix/ServerConsole.sha256
- rm -rf ./release
-
- - name: Commit
- run: |
- git config --global push.default simple
- git config user.name "tgstation-server-ci[bot]"
- git config user.email "161980869+tgstation-server-ci[bot]@users.noreply.github.com"
- git add build/package/nix/ServerConsole.sha256
- git commit -m "Update nix SHA256 for TGS v${{ env.TGS_VERSION }}"
-
- - name: Re-tag
- run: |
- git tag -d tgstation-server-v${{ env.TGS_VERSION }}
- git tag -a tgstation-server-v${{ env.TGS_VERSION }} -m tgstation-server-v${{ env.TGS_VERSION }}
-
- - name: Push Commit
- run: git push
-
- - name: Force Push Tags
- run: git push -f origin tag tgstation-server-v${{ env.TGS_VERSION }}
diff --git a/.github/workflows/regenerate-nix-deps.yml b/.github/workflows/regenerate-nix-deps.yml
new file mode 100644
index 0000000000..0d34fa94e4
--- /dev/null
+++ b/.github/workflows/regenerate-nix-deps.yml
@@ -0,0 +1,53 @@
+name: Regenerate Nix Nuget Dependencies
+
+on:
+ pull_request_target:
+ types: [opened, reopened]
+ branches:
+ - dev
+ - master
+ - V7
+
+concurrency:
+ group: "regenerate-nix-dependencies-${{ github.head_ref || github.run_id }}-${{ github.event_name }}"
+ cancel-in-progress: true
+
+jobs:
+ regenerate-nix-dependencies:
+ name: Regenerate Nix Dependencies
+ runs-on: ubuntu-latest
+ if: github.event.pull_request.head.repo.id == github.event.pull_request.base.repo.id
+ steps:
+ - name: Setup Nix
+ uses: cachix/install-nix-action@v31
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+
+ - name: Generate App Token
+ id: app-token-generation
+ uses: actions/create-github-app-token@v1
+ with:
+ app-id: ${{ secrets.APP_ID }}
+ private-key: ${{ secrets.APP_PRIVATE_KEY }}
+
+ - name: Checkout (PR Merge)
+ uses: actions/checkout@v4
+ with:
+ ref: "refs/pull/${{ github.event.pull_request.number }}/head"
+
+ - name: Regenerate Dependencies
+ run: |
+ cd build/package/nix
+ nix shell nixpkgs#nuget-to-json nixpkgs#dotnetCorePackages.sdk_8_0 -c "./GenDeps.sh"
+
+ - name: Commit
+ run: |
+ git config user.name "tgstation-server-ci[bot]"
+ git config user.email "161980869+tgstation-server-ci[bot]@users.noreply.github.com"
+ git add build/package/nix/deps.json
+ git diff-index --quiet HEAD || git commit -m "Regenerate Nix Hashes based on Nuget Packages"
+
+ - name: Push
+ run: |
+ git config --global push.default simple
+ git push -u origin ${{ github.event.pull_request.head.ref }} "https://tgstation-server-ci:${{ steps.app-token-generation.outputs.token }}@github.com/tgstation/tgstation-server" 2>&1
diff --git a/build/package/nix/GenDeps.sh b/build/package/nix/GenDeps.sh
new file mode 100755
index 0000000000..5a7deed97c
--- /dev/null
+++ b/build/package/nix/GenDeps.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+cd ../../../src/Tgstation.Server.Host.Console
+dotnet restore --packages out
+nuget-to-json out > ../../build/package/nix/deps.json
+rm -rf out
diff --git a/build/package/nix/deps.json b/build/package/nix/deps.json
new file mode 100644
index 0000000000..2c9788a48f
--- /dev/null
+++ b/build/package/nix/deps.json
@@ -0,0 +1,227 @@
+[
+ {
+ "pname": "Microsoft.Build.Tasks.Git",
+ "version": "8.0.0",
+ "hash": "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration",
+ "version": "9.0.7",
+ "hash": "sha256-Su+YntNqtLuY0XEYo1vfQZ4sA0wrHu0ZrcM33blvHWI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-45ZR8liM/A6II+WPX9X6v9+g2auAKInPbVvY6a79VLk="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.Binder",
+ "version": "9.0.7",
+ "hash": "sha256-9iT3CPY6Vpwi1RCVwveHVteTgpAXloBAo8KCwIPsePg="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.CommandLine",
+ "version": "9.0.7",
+ "hash": "sha256-L+emOXCVXAu2PNLLd1Bn/v/imrjLJsiAjvWmA0YPgGg="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.EnvironmentVariables",
+ "version": "9.0.7",
+ "hash": "sha256-r1ndSWcgGv7f7twBcplfCHRdBtV4Z77TsVpfirSrZPk="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.FileExtensions",
+ "version": "9.0.7",
+ "hash": "sha256-9+XLNylnsYd/IcLZfDyW/Q+nuYB51BQJeyA+ZMsKan0="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.Json",
+ "version": "9.0.7",
+ "hash": "sha256-4lWXlwwGPgv3nrL5V890LPVKxSDM8w4UJYYQlSA28/M="
+ },
+ {
+ "pname": "Microsoft.Extensions.Configuration.UserSecrets",
+ "version": "9.0.7",
+ "hash": "sha256-YvYQT27sflpwyklvtgLjc2tphvZSdMnpGDf92vkDrR8="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection",
+ "version": "9.0.7",
+ "hash": "sha256-/TCCT7WPZpEWP9E3M441y+SZsmdqQ/WMTgL+ce7p2hw="
+ },
+ {
+ "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-Ltlh01iGj6641DaZSFif/2/2y3y9iFk7GEd+HuRnxPs="
+ },
+ {
+ "pname": "Microsoft.Extensions.Diagnostics",
+ "version": "9.0.7",
+ "hash": "sha256-3ju8IiGd0vjPTGLZ3o5kSlzZezGT80Xz0eDxUKXYkqE="
+ },
+ {
+ "pname": "Microsoft.Extensions.Diagnostics.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-kQ+554vO7LEsZlkmwsnhaucVWAPQpzdvNHo0Q6EkCyI="
+ },
+ {
+ "pname": "Microsoft.Extensions.FileProviders.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-e/oPQDche6WBSJlVwNIhSu4qknO2TmMMkhX+OqbYGFA="
+ },
+ {
+ "pname": "Microsoft.Extensions.FileProviders.Physical",
+ "version": "9.0.7",
+ "hash": "sha256-L7XMdKdZa4UT01TKEjunha3RAK5BBi2E020wRbrvUOU="
+ },
+ {
+ "pname": "Microsoft.Extensions.FileSystemGlobbing",
+ "version": "9.0.7",
+ "hash": "sha256-KjxkTcn1aNZUdoFb6v/xhdG92D5FmwdW2MFL1xAH1x8="
+ },
+ {
+ "pname": "Microsoft.Extensions.Hosting",
+ "version": "9.0.7",
+ "hash": "sha256-viFduZ4bUscmz3XhqsQ63hzw4+46j9vTnYBL72Eekzo="
+ },
+ {
+ "pname": "Microsoft.Extensions.Hosting.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-TKWnynGXUb6Ka/q2gMsrOWQYMfaTnlzsATMJIQgltY4="
+ },
+ {
+ "pname": "Microsoft.Extensions.Hosting.Systemd",
+ "version": "9.0.7",
+ "hash": "sha256-+10gbI1IPR/YEHAy55yH0uNkO5jJM2eKqZkxg/+AMaI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging",
+ "version": "9.0.7",
+ "hash": "sha256-7n8guHFss8HPnJuAByfzn9ipguDz7dack/udL1uH3h0="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Abstractions",
+ "version": "9.0.7",
+ "hash": "sha256-G8x9e+2D2FzUsYNkXHd4HKQ71iEv5njFiGlvS+7OXLQ="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Configuration",
+ "version": "9.0.7",
+ "hash": "sha256-ZgS/4d6hmFtCLWdBL4DtlEFXV84295jWJrgzUPQ1IVI="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Console",
+ "version": "9.0.7",
+ "hash": "sha256-KUsy31YvvO8CTwHoNw4DbBOp+/o2sYscvQL7fvCPUvQ="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.Debug",
+ "version": "9.0.7",
+ "hash": "sha256-i9BN2CvK4f5X8WFSeyaeXO5znFArIsCFIZQuIM4BtYE="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.EventLog",
+ "version": "9.0.7",
+ "hash": "sha256-prMqE+YP+o7P3eIlPFEhTlkBktCFFbgcO1xq3Z3GFfc="
+ },
+ {
+ "pname": "Microsoft.Extensions.Logging.EventSource",
+ "version": "9.0.7",
+ "hash": "sha256-EMltfPMFkNWKNedONLi2JNB1YX/4khIfK6us5p/uQr0="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options",
+ "version": "9.0.7",
+ "hash": "sha256-nfUnZxx1tKERUddNNyxhGTK7VDTNZIJGYkiOWSHCt/M="
+ },
+ {
+ "pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
+ "version": "9.0.7",
+ "hash": "sha256-96ycmW7aMb9i0GFXoLVUlb0cc3IIpYXRJ3Pymz/QJi4="
+ },
+ {
+ "pname": "Microsoft.Extensions.Primitives",
+ "version": "9.0.7",
+ "hash": "sha256-Vv1EuoBSfjCJ7EKzxh10/nA/rpaFU8D8+bdZZQWzw2I="
+ },
+ {
+ "pname": "Microsoft.NETCore.Platforms",
+ "version": "1.1.0",
+ "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
+ },
+ {
+ "pname": "Microsoft.NETFramework.ReferenceAssemblies",
+ "version": "1.0.3",
+ "hash": "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="
+ },
+ {
+ "pname": "Microsoft.NETFramework.ReferenceAssemblies.net20",
+ "version": "1.0.3",
+ "hash": "sha256-f3SZf+wzjd5w9ajJ/Qmqb+IShnMeexM8wTPWROTjxeg="
+ },
+ {
+ "pname": "Microsoft.SourceLink.Common",
+ "version": "8.0.0",
+ "hash": "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc="
+ },
+ {
+ "pname": "Microsoft.SourceLink.GitHub",
+ "version": "8.0.0",
+ "hash": "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0="
+ },
+ {
+ "pname": "Mono.Posix.NETStandard",
+ "version": "1.0.0",
+ "hash": "sha256-/F61k7MY/fu2FcfW7CkyjuUroKwlYAXPQFVeDs1QknY="
+ },
+ {
+ "pname": "NETStandard.Library",
+ "version": "2.0.3",
+ "hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
+ },
+ {
+ "pname": "StyleCop.Analyzers",
+ "version": "1.2.0-beta.556",
+ "hash": "sha256-97YYQcr5vZxTvi36608eUkA1wb6xllZQ7UcXbjrYIfU="
+ },
+ {
+ "pname": "StyleCop.Analyzers.Unstable",
+ "version": "1.2.0.556",
+ "hash": "sha256-aVop7a9r+X2RsZETgngBm3qQPEIiPBWgHzicGSTEymc="
+ },
+ {
+ "pname": "System.Diagnostics.DiagnosticSource",
+ "version": "9.0.7",
+ "hash": "sha256-vp2oxUmhI0UJBXdLTR6sX1ESmvZupErTUi/qzXKeLoU="
+ },
+ {
+ "pname": "System.Diagnostics.EventLog",
+ "version": "9.0.7",
+ "hash": "sha256-bc0v/V0Qs3ENMlK/oGOkvUtP6jj3fMQOiF6Jk2NQUwM="
+ },
+ {
+ "pname": "System.IO.Pipelines",
+ "version": "9.0.7",
+ "hash": "sha256-jCnYjyjJeTReO7ySPm1A1VIRNoac5/eMN2q9IGGGEh0="
+ },
+ {
+ "pname": "System.Runtime.CompilerServices.Unsafe",
+ "version": "6.1.2",
+ "hash": "sha256-X2p/U680Zfkr622oc+vg5JYgbDEzE7mLre5DVaayWTc="
+ },
+ {
+ "pname": "System.Text.Encodings.Web",
+ "version": "9.0.7",
+ "hash": "sha256-Vv2VM4ZQ0IamPza25YIwHoFNN+xku3PkfODPSaYJ8a8="
+ },
+ {
+ "pname": "System.Text.Json",
+ "version": "9.0.7",
+ "hash": "sha256-f3leKX3r7JoUbKo6tnuIsPVYJHNbElHWffhyqk1+2C0="
+ },
+ {
+ "pname": "System.Threading.Tasks.Extensions",
+ "version": "4.6.3",
+ "hash": "sha256-GrySx1F6Ah6tfnnQt/PHC+dbzg+sfP47OOFX0yJF/xo="
+ }
+]
diff --git a/build/package/nix/package.nix b/build/package/nix/package.nix
index 9deeba9fb8..e793b13448 100644
--- a/build/package/nix/package.nix
+++ b/build/package/nix/package.nix
@@ -27,44 +27,26 @@ let
installPhase = ''
mkdir -p $out
xmlstarlet sel -N X="http://schemas.microsoft.com/developer/msbuild/2003" --template --value-of /X:Project/X:PropertyGroup/X:TgsCoreVersion ./Version.props > $out/tgs_version.txt
+ xmlstarlet sel -N X="http://schemas.microsoft.com/developer/msbuild/2003" --template --value-of /X:Project/X:PropertyGroup/X:TgsHostWatchdogVersion ./Version.props > $out/watchdog_version.txt
'';
};
- version = (builtins.readFile "${versionParse}/tgs_version.txt");
- fixedOutput = stdenv.mkDerivation {
- pname = "tgstation-server-release-server-console-zip";
- inherit version;
+ tgstation-server-host-console = pkgs.buildDotnetModule {
+ pname = "Tgstation.Server.Host.Console";
+ version = (builtins.readFile "${versionParse}/watchdog_version.txt"); # Be careful, this influences the assembly version
- meta = with pkgs.lib; {
- description = "Host watchdog binaries for tgstation-server";
- homepage = "https://github.com/tgstation/tgstation-server";
- changelog = "https://github.com/tgstation/tgstation-server/releases/tag/tgstation-server-v${version}";
- license = licenses.agpl3Plus;
- platforms = platforms.x86_64;
- };
+ src = ./../../..;
- nativeBuildInputs = with pkgs; [
- curl
- cacert
- versionParse
- ];
+ projectFile = "src/Tgstation.Server.Host.Console/Tgstation.Server.Host.Console.csproj";
+ nugetDeps = ./deps.json; # see "Generating and updating NuGet dependencies" section for details
- src = ./.;
+ TGS_NIX_BUILD = "yes";
- buildPhase = ''
- curl -L https://github.com/tgstation/tgstation-server/releases/download/tgstation-server-v${version}/ServerConsole.zip -o ServerConsole.zip
- '';
+ executables = [];
- installPhase = ''
- mkdir -p $out
- mv ServerConsole.zip $out/ServerConsole.zip
- '';
-
- outputHashAlgo = "sha256";
- outputHashMode = "recursive";
- outputHash = (builtins.readFile ./ServerConsole.sha256);
+ dotnet-sdk = pkgs.dotnetCorePackages.sdk_8_0;
+ dotnet-runtime = pkgs.dotnetCorePackages.runtime_8_0;
};
- rpath = lib.makeLibraryPath [ pkgs.stdenv_32bit.cc.cc.lib ];
in
stdenv.mkDerivation {
pname = "tgstation-server";
@@ -79,7 +61,7 @@ stdenv.mkDerivation {
};
buildInputs = with pkgs; [
- dotnetCorePackages.sdk_8_0
+ pkgs.dotnetCorePackages.sdk_8_0
gdb
systemd
zlib
@@ -87,11 +69,10 @@ stdenv.mkDerivation {
glibc
bash
curl
+ tgstation-server-host-console
];
nativeBuildInputs = with pkgs; [
makeWrapper
- unzip
- fixedOutput
versionParse
];
@@ -99,13 +80,11 @@ stdenv.mkDerivation {
installPhase = ''
mkdir -p $out/bin
- unzip "${fixedOutput}/ServerConsole.zip" -d $out/bin
- rm -rf $out/bin/lib
makeWrapper ${pkgs.dotnetCorePackages.sdk_8_0}/bin/dotnet $out/bin/tgstation-server --suffix PATH : ${
lib.makeBinPath (
with pkgs;
[
- dotnetCorePackages.sdk_8_0
+ pkgs.dotnetCorePackages.sdk_8_0
gdb
bash
]
@@ -118,6 +97,6 @@ stdenv.mkDerivation {
zlib
]
)
- } --add-flags "$out/bin/Tgstation.Server.Host.Console.dll --bootstrap"
+ } --add-flags "${tgstation-server-host-console}/lib/Tgstation.Server.Host.Console/Tgstation.Server.Host.Console.dll --bootstrap"
'';
}
diff --git a/build/package/nix/tgstation-server.nix b/build/package/nix/tgstation-server.nix
index 326d6182a1..328b380a2a 100644
--- a/build/package/nix/tgstation-server.nix
+++ b/build/package/nix/tgstation-server.nix
@@ -124,7 +124,7 @@ in
environment.etc = {
"tgstation-server.d/appsettings.yml" = {
- text = (builtins.readFile "${package}/bin/appsettings.yml");
+ text = (builtins.readFile ./../../../src/Tgstation.Server.Host/appsettings.yml);
group = cfg.groupname;
mode = "0644";
};
diff --git a/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj b/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
index 97766617d4..263b813dc3 100644
--- a/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
+++ b/src/Tgstation.Server.Common/Tgstation.Server.Common.csproj
@@ -15,7 +15,7 @@
-
+