mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-29 17:02:05 +13:00
Build final artifacts even on a pull request
FFmpeg only gets downloaded on tagged builds makeappx's standard output is also redirected to console
This commit is contained in:
parent
10b4f25d81
commit
f6e58e7e5f
2 changed files with 61 additions and 21 deletions
|
@ -1,18 +1,28 @@
|
|||
if ($env:APPVEYOR_PULL_REQUEST_NUMBER -eq $null)
|
||||
if ($env:APPVEYOR_REPO_TAG -eq $true)
|
||||
{
|
||||
if ($env:CONFIGURATION -eq "Release")
|
||||
if ($env:CONFIGURATION -eq "Steam")
|
||||
{
|
||||
& "ShareX.Setup\bin\Release\ShareX.Setup.exe" -AppVeyorRelease
|
||||
& "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteamRelease
|
||||
}
|
||||
elseif ($env:APPVEYOR_REPO_TAG -eq $true)
|
||||
elseif ($env:CONFIGURATION -eq "WindowsStore")
|
||||
{
|
||||
if ($env:CONFIGURATION -eq "Steam")
|
||||
{
|
||||
& "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteam
|
||||
}
|
||||
elseif ($env:CONFIGURATION -eq "WindowsStore")
|
||||
{
|
||||
& "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStore
|
||||
}
|
||||
& "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStoreRelease
|
||||
}
|
||||
}
|
||||
elseif ($env:CONFIGURATION -eq "Release")
|
||||
{
|
||||
& "ShareX.Setup\bin\Release\ShareX.Setup.exe" -AppVeyorRelease
|
||||
}
|
||||
elseif ($env:CONFIGURATION -eq "Steam")
|
||||
{
|
||||
& "ShareX.Setup\bin\Steam\ShareX.Setup.exe" -AppVeyorSteam
|
||||
}
|
||||
elseif ($env:CONFIGURATION -eq "WindowsStore")
|
||||
{
|
||||
& "ShareX.Setup\bin\WindowsStore\ShareX.Setup.exe" -AppVeyorWindowsStore
|
||||
}
|
||||
|
||||
if ($env:APPVEYOR_PULL_REQUEST_NUMBER -ne $null)
|
||||
{
|
||||
Remove-Item -Recurse -Force "Output"
|
||||
}
|
|
@ -47,6 +47,7 @@ private enum SetupJobs
|
|||
CreateWindowsStoreFolder = 1 << 6,
|
||||
CreateWindowsStoreDebugFolder = 1 << 7,
|
||||
CompileAppx = 1 << 8,
|
||||
DownloadFFmpeg = 1 << 9,
|
||||
|
||||
Stable = CreateSetup | CreatePortable | OpenOutputDirectory,
|
||||
Setup = CreateSetup | OpenOutputDirectory,
|
||||
|
@ -58,7 +59,9 @@ private enum SetupJobs
|
|||
Beta = CreateSetup | UploadOutputFile,
|
||||
AppVeyorRelease = CreateSetup | CreatePortable,
|
||||
AppVeyorSteam = CreateSteamFolder,
|
||||
AppVeyorWindowsStore = CreateWindowsStoreFolder | CompileAppx
|
||||
AppVeyorWindowsStore = CreateWindowsStoreFolder | CompileAppx,
|
||||
AppVeyorSteamRelease = AppVeyorSteam | DownloadFFmpeg,
|
||||
AppVeyorWindowsStoreRelease = AppVeyorWindowsStore | DownloadFFmpeg
|
||||
}
|
||||
|
||||
private static SetupJobs Job = SetupJobs.Stable;
|
||||
|
@ -113,6 +116,16 @@ private static void Main(string[] args)
|
|||
AppVeyor = true;
|
||||
Job = SetupJobs.AppVeyorWindowsStore;
|
||||
}
|
||||
else if (SetupHelpers.CheckArguments(args, "-AppVeyorSteamRelease"))
|
||||
{
|
||||
AppVeyor = true;
|
||||
Job = SetupJobs.AppVeyorSteamRelease;
|
||||
}
|
||||
else if (SetupHelpers.CheckArguments(args, "-AppVeyorWindowsStoreRelease"))
|
||||
{
|
||||
AppVeyor = true;
|
||||
Job = SetupJobs.AppVeyorWindowsStoreRelease;
|
||||
}
|
||||
|
||||
Console.WriteLine("Setup job: " + Job);
|
||||
|
||||
|
@ -136,11 +149,21 @@ private static void Main(string[] args)
|
|||
if (Job.HasFlag(SetupJobs.CreateSteamFolder))
|
||||
{
|
||||
CreateSteamFolder();
|
||||
|
||||
if (Job.HasFlag(SetupJobs.DownloadFFmpeg))
|
||||
{
|
||||
CopyFFmpeg(SteamUpdatesDir, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (Job.HasFlag(SetupJobs.CreateWindowsStoreFolder))
|
||||
{
|
||||
CreateFolder(WindowsStoreDir, WindowsStoreOutputDir, SetupJobs.CreateWindowsStoreFolder);
|
||||
|
||||
if (Job.HasFlag(SetupJobs.DownloadFFmpeg))
|
||||
{
|
||||
CopyFFmpeg(WindowsStoreOutputDir, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (Job.HasFlag(SetupJobs.CreateWindowsStoreDebugFolder))
|
||||
|
@ -150,8 +173,20 @@ private static void Main(string[] args)
|
|||
|
||||
if (Job.HasFlag(SetupJobs.CompileAppx))
|
||||
{
|
||||
Process.Start(@"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe",
|
||||
$"pack /d \"{WindowsStoreOutputDir}\" /p \"{WindowsStoreAppxPath}\" /l /o").WaitForExit();
|
||||
Process p = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = @"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe",
|
||||
Arguments = $"pack /d \"{WindowsStoreOutputDir}\" /p \"{WindowsStoreAppxPath}\" /l /o",
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true
|
||||
}
|
||||
};
|
||||
p.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
|
||||
p.Start();
|
||||
p.BeginOutputReadLine();
|
||||
p.WaitForExit();
|
||||
|
||||
Directory.Delete(WindowsStoreOutputDir, true);
|
||||
}
|
||||
|
@ -267,11 +302,7 @@ private static void CreateFolder(string source, string destination, SetupJobs jo
|
|||
|
||||
Helpers.CopyAll(Path.Combine(ParentDir, @"ShareX.ScreenCaptureLib\Stickers"), Path.Combine(destination, "Stickers"));
|
||||
|
||||
if (job == SetupJobs.CreateSteamFolder)
|
||||
{
|
||||
CopyFFmpeg(destination, true, true);
|
||||
}
|
||||
else if (job == SetupJobs.CreatePortableAppsFolder)
|
||||
if (job == SetupJobs.CreatePortableAppsFolder)
|
||||
{
|
||||
Helpers.CreateEmptyFile(Path.Combine(destination, "PortableApps"));
|
||||
}
|
||||
|
@ -279,7 +310,6 @@ private static void CreateFolder(string source, string destination, SetupJobs jo
|
|||
{
|
||||
SetupHelpers.CopyFile(Path.Combine(DesktopBridgeHelperDir, "ShareX_DesktopBridgeHelper.exe"), destination);
|
||||
Helpers.CopyAll(WindowsStorePackageFilesDir, destination);
|
||||
CopyFFmpeg(destination, false, true);
|
||||
}
|
||||
else if (job == SetupJobs.CreatePortable)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue