diff --git a/appveyor.yml b/appveyor.yml index 6df9eb836d..e6cd330a5b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -90,7 +90,7 @@ after_test: - ps: Copy-Item -path "artifacts/ServerHost" -destination artifacts/ServerConsole/lib/Default -recurse - ps: Move-Item -path artifacts/ServerConsole/lib/Default/appsettings.json -destination artifacts/ServerConsole/ #service - - ps: Copy-Item -path "src/Tgstation.Server.Host.Service/bin/$env:CONFIGURATION/net471/win" -destination artifacts/ServerService -recurse + - ps: Copy-Item -path "src/Tgstation.Server.Host.Service/bin/$env:CONFIGURATION/net472/win" -destination artifacts/ServerService -recurse - ps: Copy-Item -path "artifacts/ServerHost" -destination artifacts/ServerService/lib/Default -recurse - ps: Move-Item -path artifacts/ServerService/lib/Default/appsettings.json -destination artifacts/ServerService/ - ps: Remove-Item artifacts/ServerHost/appsettings.json diff --git a/build/TestDockerfile b/build/TestDockerfile new file mode 100644 index 0000000000..4756939c70 --- /dev/null +++ b/build/TestDockerfile @@ -0,0 +1,61 @@ +FROM mcr.microsoft.com/dotnet/core/sdk:3.1-bionic AS build + +# install node and npm +# replace shell with bash so we can source files +RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | sh + +ENV NODE_VERSION=10.13.0 +ENV NVM_DIR /root/.nvm + +RUN . $NVM_DIR/nvm.sh \ + && nvm install $NODE_VERSION \ + && nvm use $NODE_VERSION \ + && apt-get update \ + && apt-get install -y \ + dos2unix \ + gcc-multilib \ + && rm -rf /var/lib/apt/lists/* + +ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules +ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH + +# Build web control panel +WORKDIR /repo/build + +COPY build/Version.props Version.props + +WORKDIR /repo/src/Tgstation.Server.Host + +COPY src/Tgstation.Server.Host/ClientApp ClientApp +COPY src/Tgstation.Server.Host/Tgstation.Server.Host.csproj ./ + +RUN dotnet msbuild -target:NpmBuild + +WORKDIR /repo + +# Restore nuget packages +COPY tgstation-server.sln ./ + +COPY src/Tgstation.Server.Host.Console/Tgstation.Server.Host.Console.csproj src/Tgstation.Server.Host.Console/ +COPY src/Tgstation.Server.Host.Watchdog/Tgstation.Server.Host.Watchdog.csproj src/Tgstation.Server.Host.Watchdog/ +COPY src/Tgstation.Server.Api/Tgstation.Server.Api.csproj src/Tgstation.Server.Api/ +COPY src/Tgstation.Server.Client/Tgstation.Server.Client.csproj src/Tgstation.Server.Client/ +COPY tests/Tgstation.Server.Tests/Tgstation.Server.Tests.csproj tests/Tgstation.Server.Tests/ + +RUN dotnet restore -nowarn:MSB3202,nu1503 -p:RestoreUseSkipNonexistentTargets=false + +# Final copy for building +COPY . . + +WORKDIR /repo/tests/Tgstation.Server.Tests + +ENV TGS4_TEST_DISCORD_CHANNEL 493119635319947269 +ENV TGS4_TEST_DATABASE_TYPE=Sqlite +ENV TGS4_TEST_CONNECTION_STRING="Data Source=TravisTestDB.sqlite3;Mode=ReadWriteCreate" +ENV TGS4_TEST_IRC_CHANNEL \#botbus +ENV TGS4_TEST_TEMP_DIRECTORY /tgs4_test +ENV TGS4_TEST_BRANCH dev +ENV TGS4_TEST_DISCORD_TOKEN NDIwMDg3NDczOTY0NzExOTQ3.Xnp17w.QrsJtjJXa2sLm7tI2oLuE9id4ak +ENV TGS4_TEST_IRC_CONNECTION_STRING irc.rizon.net;6667;tgs4_integration_test;0;1;asdfasdf + +ENTRYPOINT ["dotnet", "test"]