Skip to content

Commit 62a09c7

Browse files
PerkseyHurricanKaisilkdotnetdotnet-bot
authored
ANGLE, SwiftShader, and Vulkan Loader prebuilts (#746)
* This pipeline _will_ fail, but want to see how far it will get * Update build.sh * Remove workflow autogeneration, revert build script changes * Fix pipeline * Move temp folder * Recursive checkout * Recursive checkout except for one private Google submodule * Update SwiftShader.yml * Ensure we checkout a branch maybe? * Use checkout v2 * Install xcb * Sudo install xcb * Setup .NET 6 * Checkout with the right token * Don't do a parallelised run in CI - slaughters the runner * Update SwiftShader.yml * Add ANGLE * WHY * Make the damned thing executable * No idea why we need PHP for Apache installed to build ANGLE but why not * Run as sudo for good measure * Attempt to diagnose janky apt setup * Wtf is going on * Use -X theirs instead of -s theirs which doesn't exist * Ensure we're not affected by other [NUKE] changes harder * Update ANGLE binaries (#749) * New binaries for ANGLE on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Nov 10 22:23:07 PST 2021; root:xnu-7195.141.14~1/RELEASE_X86_64 * New binaries for ANGLE on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 Co-authored-by: The Silk.NET Automaton <[email protected]> * You are the bane of my existence. * Allow overwrites * Add Vulkan loader * Add a workflow for Vulkan Loader * cont'd * I'm stupid * Install Wayland * Install X11 * Pull... fkn race conditions man! * Update gitignore for good measure * Install different packages? * Glob the correct files, stop wasting Actions minutes unnecessarily * Update Vulkan Loader binaries (#763) * New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 * New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 Co-authored-by: The Silk.NET Automaton <[email protected]> * No fail fast for SwiftShader * No fail fast for ANGLE * No fail fast for Vulkan Loader * Remove workflow file in push paths on Vulkan Loader * Remove workflow file in push paths on SwiftShader * Remove workflow file in push paths on ANGLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 (#764) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SwiftShader binaries (#747) * New binaries for SwiftShader on Windows * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 * New binaries for SwiftShader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Nov 10 22:23:07 PST 2021; root:xnu-7195.141.14~1/RELEASE_X86_64 * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 * New binaries for SwiftShader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Nov 10 22:23:07 PST 2021; root:xnu-7195.141.14~1/RELEASE_X86_64 * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 * New binaries for SwiftShader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Nov 10 22:23:07 PST 2021; root:xnu-7195.141.14~1/RELEASE_X86_64 * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 Co-authored-by: The Silk.NET Automaton <[email protected]> Co-authored-by: Dylan Perks <[email protected]> * Add packages for the new binaries * Adjust glob, let's figure out where it's actually putting these files... * Actually glob the right paths * cont'd * cont'd 2 * Update Vulkan Loader binaries (#765) * New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 * New binaries for Vulkan Loader on Linux 5.11.0-1022-azure #23~20.04.1-Ubuntu SMP Fri Nov 19 10:20:52 UTC 2021 * New binaries for Vulkan Loader on Microsoft Windows 10.0.17763 * New binaries for Vulkan Loader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Nov 10 22:23:07 PST 2021; root:xnu-7195.141.14~1/RELEASE_X86_64 Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SwiftShader binaries (#766) * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Microsoft Windows 10.0.17763 * New binaries for SwiftShader on Microsoft Windows 10.0.17763 Co-authored-by: The Silk.NET Automaton <[email protected]> * Fix CI Build * Update Vulkan Loader binaries (#825) * New binaries for Vulkan Loader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Jan 12 22:22:42 PST 2022; root:xnu-7195.141.19~2/RELEASE_X86_64 * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for ANGLE on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Jan 12 22:22:42 PST 2022; root:xnu-7195.141.19~2/RELEASE_X86_64 (#827) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SwiftShader binaries (#826) * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Darwin 20.6.0 Darwin Kernel Version 20.6.0: Wed Jan 12 22:22:42 PST 2022; root:xnu-7195.141.19~2/RELEASE_X86_64 Co-authored-by: The Silk.NET Automaton <[email protected]> Co-authored-by: Kai Jellinghaus <[email protected]> Co-authored-by: silkdotnet <[email protected]> Co-authored-by: The Silk.NET Automaton <[email protected]>
1 parent 954a5c2 commit 62a09c7

File tree

6 files changed

+480
-15
lines changed

6 files changed

+480
-15
lines changed

.nuke/build.schema.json

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"title": "Build Schema",
4+
"$ref": "#/definitions/build",
5+
"definitions": {
6+
"build": {
7+
"type": "object",
8+
"properties": {
9+
"Configuration": {
10+
"type": "string",
11+
"description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)"
12+
},
13+
"Continue": {
14+
"type": "boolean",
15+
"description": "Indicates to continue a previously failed build attempt"
16+
},
17+
"Help": {
18+
"type": "boolean",
19+
"description": "Shows the help text for this build assembly"
20+
},
21+
"Host": {
22+
"type": "string",
23+
"description": "Host for execution. Default is 'automatic'",
24+
"enum": [
25+
"AppVeyor",
26+
"AzurePipelines",
27+
"Bamboo",
28+
"Bitrise",
29+
"GitHubActions",
30+
"GitLab",
31+
"Jenkins",
32+
"Rider",
33+
"SpaceAutomation",
34+
"TeamCity",
35+
"Terminal",
36+
"TravisCI",
37+
"VisualStudio",
38+
"VSCode"
39+
]
40+
},
41+
"MsbuildProperties": {
42+
"type": "array",
43+
"description": "Extra properties passed to MSBuild commands",
44+
"items": {
45+
"type": "string"
46+
}
47+
},
48+
"Native": {
49+
"type": "boolean",
50+
"description": "Build native code"
51+
},
52+
"NoLogo": {
53+
"type": "boolean",
54+
"description": "Disables displaying the NUKE logo"
55+
},
56+
"NugetApiKey": {
57+
"type": "string",
58+
"description": "The API key used to push packages and symbols packages to NuGet"
59+
},
60+
"NugetFeed": {
61+
"type": "string",
62+
"description": "NuGet feed"
63+
},
64+
"NugetNoServiceEndpoint": {
65+
"type": "boolean",
66+
"description": "NuGet -NoServiceEndpoint"
67+
},
68+
"NugetPassword": {
69+
"type": "string",
70+
"description": "NuGet password"
71+
},
72+
"NugetUsername": {
73+
"type": "string",
74+
"description": "NuGet username"
75+
},
76+
"OriginalSolution": {
77+
"type": "string",
78+
"description": "Path to a solution file that is automatically loaded"
79+
},
80+
"Partition": {
81+
"type": "string",
82+
"description": "Partition to use on CI"
83+
},
84+
"Plan": {
85+
"type": "boolean",
86+
"description": "Shows the execution plan (HTML)"
87+
},
88+
"Profile": {
89+
"type": "array",
90+
"description": "Defines the profiles to load",
91+
"items": {
92+
"type": "string"
93+
}
94+
},
95+
"Projects": {
96+
"type": "array",
97+
"description": "If specified, generates a solution including only the specified projects or group of projects. You can provide individual project names or the name of the folder in which they're contained e.g. \"--projects opengl examples/csharp vulkan microsoft core.win32extras silk.net.opencl\". The Silk.NET prefix for individual projects is optional, but folder names will be preferred over project names so if you only want \"Silk.NET.Vulkan\" and not everything in \"src/Vulkan\", use \"--projects silk.net.vulkan\". The solution include project dependencies. The solution will be regenerated whenever you run a NUKE build with this specified, but if you don't want to run a build just use \"nuke sln --projects ...\" to run a dummy target",
98+
"items": {
99+
"type": "string"
100+
}
101+
},
102+
"Root": {
103+
"type": "string",
104+
"description": "Root directory during build execution"
105+
},
106+
"SignPassword": {
107+
"type": "string",
108+
"description": "Code-signing service password"
109+
},
110+
"SignUsername": {
111+
"type": "string",
112+
"description": "Code-signing service username"
113+
},
114+
"Skip": {
115+
"type": "array",
116+
"description": "List of targets to be skipped. Empty list skips all dependencies",
117+
"items": {
118+
"type": "string",
119+
"enum": [
120+
"Angle",
121+
"BuildLibSilkDroid",
122+
"Clean",
123+
"Compile",
124+
"FullCompile",
125+
"FullPack",
126+
"FullPushToNuGet",
127+
"Pack",
128+
"Prerequisites",
129+
"PushToNuGet",
130+
"RegenerateBindings",
131+
"Restore",
132+
"SignPackages",
133+
"Sln",
134+
"SwiftShader",
135+
"Test",
136+
"ValidateSolution",
137+
"VulkanLoader"
138+
]
139+
}
140+
},
141+
"Sln": {
142+
"type": "boolean",
143+
"description": "If specified, when using the clean target removes the generated solution and stops"
144+
},
145+
"Target": {
146+
"type": "array",
147+
"description": "List of targets to be invoked. Default is '{default_target}'",
148+
"items": {
149+
"type": "string",
150+
"enum": [
151+
"Angle",
152+
"BuildLibSilkDroid",
153+
"Clean",
154+
"Compile",
155+
"FullCompile",
156+
"FullPack",
157+
"FullPushToNuGet",
158+
"Pack",
159+
"Prerequisites",
160+
"PushToNuGet",
161+
"RegenerateBindings",
162+
"Restore",
163+
"SignPackages",
164+
"Sln",
165+
"SwiftShader",
166+
"Test",
167+
"ValidateSolution",
168+
"VulkanLoader"
169+
]
170+
}
171+
},
172+
"Verbosity": {
173+
"type": "string",
174+
"description": "Logging verbosity during build execution. Default is 'Normal'",
175+
"enum": [
176+
"Minimal",
177+
"Normal",
178+
"Quiet",
179+
"Verbose"
180+
]
181+
}
182+
}
183+
}
184+
}
185+
}

.nuke/parameters.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "./build.schema.json",
3+
"OriginalSolution": "Silk.NET.sln"
4+
}

src/infrastructure/Silk.NET.NUKE/Build.Core.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ partial class Build
4848

4949
if (Native)
5050
{
51-
var silkDroid = SourceDirectory / "Windowing" / "SilkDroid";
52-
using var process = RuntimeInformation.IsOSPlatform(OSPlatform.Linux)
53-
? StartProcess("bash", "-c \"./gradlew clean\"", silkDroid)
54-
: StartProcess("cmd", "/c \".\\gradlew clean\"", silkDroid);
55-
process.AssertZeroExitCode();
56-
outputs = outputs.Concat(process.Output);
51+
outputs = outputs.Concat
52+
(
53+
StartShell($".{Path.PathSeparator}gradlew clean", SourceDirectory / "Windowing" / "SilkDroid")
54+
.AssertZeroExitCode()
55+
.Output
56+
);
5757
}
5858
else
5959
{

0 commit comments

Comments
 (0)