diff --git a/ReleaseBuilder/Build/Command.cs b/ReleaseBuilder/Build/Command.cs index 73bc0ee0a..e405304eb 100644 --- a/ReleaseBuilder/Build/Command.cs +++ b/ReleaseBuilder/Build/Command.cs @@ -152,6 +152,12 @@ public static partial class Command getDefaultValue: () => false ); + var buildOnlyOption = new Option( + name: "--build-only", + description: "Only build the binaries, do not create packages", + getDefaultValue: () => false + ); + var buildTempOption = new Option( name: "--build-path", description: "The path to the temporary folder used for builds; will be deleted on startup", @@ -251,6 +257,7 @@ public static partial class Command buildTargetOption, solutionFileOption, keepBuildsOption, + buildOnlyOption, disableAuthenticodeOption, disableCodeSignOption, passwordOption, @@ -281,6 +288,7 @@ public static partial class Command /// The release channel /// The version override to use /// If the builds should be kept + /// If only the build should be performed /// If authenticode signing should be disabled /// If signcode should be disabled /// The password to use for the keyfile @@ -302,6 +310,7 @@ public static partial class Command ReleaseChannel Channel, string? Version, bool KeepBuilds, + bool BuildOnly, bool DisableAuthenticode, bool DisableSignCode, string Password, @@ -455,6 +464,12 @@ public static partial class Command // Perform the main compilations await Compile.BuildProjects(baseDir, input.BuildPath.FullName, sourceProjects, windowsOnly, GUIProjects, buildTargets, releaseInfo, input.KeepBuilds, rtcfg); + if (input.BuildOnly) + { + Console.WriteLine("Build completed, skipping package creation ..."); + return; + } + // Create the packages var builtPackages = await CreatePackage.BuildPackages(baseDir, input.BuildPath.FullName, buildTargets, input.KeepBuilds, rtcfg); var files = builtPackages.Select(x => x.CreatedFile).ToList(); diff --git a/ReleaseBuilder/README.md b/ReleaseBuilder/README.md index 39a6ef534..e11147972 100644 --- a/ReleaseBuilder/README.md +++ b/ReleaseBuilder/README.md @@ -48,13 +48,13 @@ The `create-key` command creates a RSA 1024 bit signing, and encrypts it with th The `build` command creates the packages. An example command that builds all packages would be: ``` -dotnet build debug --version 1.0.0.1 +dotnet run build debug --version 1.0.0.1 ``` To build only a single platform relase, disable all the features and choose the architectures: ``` -dotnet build debug --version 1.0.0.1 \ +dotnet run build debug --version 1.0.0.1 \ --disable-docker-push true \ --keep-builds true \ --disable-authenticode true \ diff --git a/ReleaseBuilder/Resources/debian/systemd/duplicati.service b/ReleaseBuilder/Resources/debian/systemd/duplicati.service index d7ace0697..5594c5a4f 100644 --- a/ReleaseBuilder/Resources/debian/systemd/duplicati.service +++ b/ReleaseBuilder/Resources/debian/systemd/duplicati.service @@ -5,6 +5,7 @@ After=network.target [Service] Nice=19 IOSchedulingClass=idle +IOSchedulingPriority=7 EnvironmentFile=-/etc/default/duplicati ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS Restart=always diff --git a/ReleaseBuilder/Resources/fedora/systemd/duplicati.service b/ReleaseBuilder/Resources/fedora/systemd/duplicati.service index de8d0e3cb..ffc6d21a8 100644 --- a/ReleaseBuilder/Resources/fedora/systemd/duplicati.service +++ b/ReleaseBuilder/Resources/fedora/systemd/duplicati.service @@ -5,6 +5,7 @@ After=network.target [Service] Nice=19 IOSchedulingClass=idle +IOSchedulingPriority=7 EnvironmentFile=-/etc/sysconfig/duplicati ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS Restart=on-failure