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 @@ - +