mirror of
https://github.com/spacebarchat/server.git
synced 2026-04-28 12:45:34 +00:00
Fix CI tests
This commit is contained in:
@@ -54,36 +54,39 @@
|
||||
python3
|
||||
];
|
||||
installPhase =
|
||||
let
|
||||
revsFile = pkgs.writeText "spacebar-server-rev.json" (builtins.toJSON {
|
||||
rev = self.sourceInfo.rev or self.sourceInfo.dirtyRev;
|
||||
shortRev = self.sourceInfo.shortRev or self.sourceInfo.dirtyShortRev;
|
||||
lastModified = self.sourceInfo.lastModified;
|
||||
});
|
||||
in ''
|
||||
runHook preInstall
|
||||
# set -x
|
||||
let
|
||||
revsFile = pkgs.writeText "spacebar-server-rev.json" (
|
||||
builtins.toJSON {
|
||||
rev = self.sourceInfo.rev or self.sourceInfo.dirtyRev;
|
||||
shortRev = self.sourceInfo.shortRev or self.sourceInfo.dirtyShortRev;
|
||||
lastModified = self.sourceInfo.lastModified;
|
||||
}
|
||||
);
|
||||
in
|
||||
''
|
||||
runHook preInstall
|
||||
# set -x
|
||||
|
||||
# remove packages not needed for production, or at least try to...
|
||||
npm prune --omit dev --no-save $npmInstallFlags "''${npmInstallFlagsArray[@]}" $npmFlags "''${npmFlagsArray[@]}"
|
||||
${./nix/trimNodeModules.sh}
|
||||
# remove packages not needed for production, or at least try to...
|
||||
npm prune --omit dev --no-save $npmInstallFlags "''${npmInstallFlagsArray[@]}" $npmFlags "''${npmFlagsArray[@]}"
|
||||
${./nix/trimNodeModules.sh}
|
||||
|
||||
# Copy outputs
|
||||
echo "Installing package into $out"
|
||||
mkdir -p $out
|
||||
cp -r assets dist node_modules package.json $out/
|
||||
cp ${revsFile} $out/.rev
|
||||
# Copy outputs
|
||||
echo "Installing package into $out"
|
||||
mkdir -p $out
|
||||
cp -r assets dist node_modules package.json $out/
|
||||
cp ${revsFile} $out/.rev
|
||||
|
||||
# Create wrappers for start scripts
|
||||
echo "Creating wrappers for start scripts"
|
||||
for i in dist/**/start.js
|
||||
do
|
||||
makeWrapper ${pkgs.nodejs_24}/bin/node $out/bin/start-`dirname ''${i/dist\//}` --prefix NODE_PATH : $out/node_modules --add-flags --enable-source-maps --add-flags $out/$i
|
||||
done
|
||||
# Create wrappers for start scripts
|
||||
echo "Creating wrappers for start scripts"
|
||||
for i in dist/**/start.js
|
||||
do
|
||||
makeWrapper ${pkgs.nodejs_24}/bin/node $out/bin/start-`dirname ''${i/dist\//}` --prefix NODE_PATH : $out/node_modules --add-flags --enable-source-maps --add-flags $out/$i
|
||||
done
|
||||
|
||||
# set +x
|
||||
runHook postInstall
|
||||
'';
|
||||
# set +x
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = pkgs.testers.runNixOSTest (import ./nix/tests/test-bundle-starts.nix self);
|
||||
};
|
||||
|
||||
@@ -7,7 +7,14 @@ self:
|
||||
nodes.machine = {
|
||||
imports = [ self.nixosModules.default ];
|
||||
|
||||
services.spacebarchat-server.enable = true;
|
||||
services.spacebarchat-server = {
|
||||
enable = true;
|
||||
settings = {
|
||||
api = { endpointPublic = "http://localhost:3001/api/v9/"; };
|
||||
cdn = { endpointPublic = "http://localhost:3001/"; endpointPrivate = "http://localhost:3001/"; };
|
||||
gateway = { endpointPublic = "ws://localhost:3001/"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
+14
-3
@@ -23,10 +23,21 @@
|
||||
|
||||
const { spawn } = require("child_process");
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
|
||||
const server = spawn("node", [
|
||||
path.join(__dirname, "..", "dist", "bundle", "start.js"),
|
||||
]);
|
||||
const cfgFile = path.join(__dirname, "test_config.json");
|
||||
process.env.CONFIG_PATH = cfgFile;
|
||||
|
||||
fs.writeFileSync(
|
||||
cfgFile,
|
||||
JSON.stringify({
|
||||
api: { endpointPublic: "http://localhost:3001/api/v9/" },
|
||||
cdn: { endpointPublic: "http://localhost:3001/", endpointPrivate: "http://localhost:3001/" },
|
||||
gateway: { endpointPublic: "ws://localhost:3001/" },
|
||||
}),
|
||||
);
|
||||
|
||||
const server = spawn("node", [path.join(__dirname, "..", "dist", "bundle", "start.js")]);
|
||||
|
||||
server.stdout.on("data", (data) => {
|
||||
process.stdout.write(data);
|
||||
|
||||
Reference in New Issue
Block a user