15
15
cmd : -NoLogo -NoProfile -ExecutionPolicy Bypass
16
16
mount : C:\mount\nabla
17
17
binary : C:\mount\nabla\build-ct
18
- install : C:\mount\nabla\ build-ct\install
18
+ install : build-ct\install
19
19
20
20
strategy :
21
21
fail-fast : false
@@ -25,59 +25,79 @@ jobs:
25
25
tag : ['17.13.6']
26
26
27
27
steps :
28
+ - name : Environment Setup
29
+ run : |
30
+ Add-MpPreference -ExclusionPath "${{ github.workspace }}"
31
+ Add-MpPreference -ExclusionExtension "*.*"
32
+ Add-MpPreference -ExclusionProcess "docker.exe"
33
+ Add-MpPreference -ExclusionProcess "dockerd.exe"
34
+ Set-MpPreference -RemediationScheduleDay 8
35
+ Set-MpPreference -DisableRealtimeMonitoring $true
36
+ Set-MpPreference -DisableRemovableDriveScanning $true
37
+ Set-MpPreference -DisableArchiveScanning $true
38
+ Set-MpPreference -DisableScanningMappedNetworkDrivesForFullScan $true
39
+
28
40
- name : Checkout
29
41
uses : actions/checkout@v4
30
42
with :
31
- submodules : ' true '
43
+ submodules : ' recursive '
32
44
33
45
- name : Set prefix
34
46
id : set-prefix
47
+ shell : bash
35
48
run : |
36
- echo "prefix=run-windows-${{ matrix.tag }}-${{ matrix.vendor }}-${{ matrix.config }}" >> $GITHUB_OUTPUT
49
+ echo "prefix=run-windows-${{ matrix.tag }}-${{ matrix.vendor }}-${{ matrix.config }}" >> " $GITHUB_OUTPUT"
37
50
38
51
- name : Pull Image
39
- run : docker pull "${{ env.image }}:${{ matrix.tag }}"
52
+ run : |
53
+ docker pull "${{ env.image }}:${{ matrix.tag }}"
40
54
41
55
- name : Run Container
42
56
run : |
43
- docker run \
44
- --entrypoint ${{ env.entry }} -di --isolation process \
45
- --env-file .\docker\ci-windows.env \
46
- --env-file .\docker\ninja.env \
47
- --name orphan \
48
- -v "${{ github.workspace }}:${{ env.mount }}" \
49
- -w "${{ env.mount }}" \
50
- "${{ env.image }}:${{ matrix.tag }}" \
57
+ docker run `
58
+ --entrypoint ${{ env.entry }} -di --isolation process `
59
+ --env-file .\docker\ci-windows.env `
60
+ --env-file .\docker\ninja.env `
61
+ --name orphan `
62
+ -v "${{ github.workspace }}:${{ env.mount }}" `
63
+ -w "${{ env.mount }}" `
64
+ "${{ env.image }}:${{ matrix.tag }}" `
51
65
${{ env.cmd }}
52
66
53
67
- name : Inspect Container
54
- run : docker inspect orphan
68
+ run : |
69
+ docker inspect orphan
55
70
56
- - name : Container -- Configure Project with CMake
71
+ - name : Container – Unpack Packages
57
72
run : |
58
- docker exec orphan \
59
- ${{ env.entry }} ${{ env.cmd }} cmake \
60
- --preset ci-configure-dynamic-${{ matrix.vendor }} \
61
- --profiling-output=profiling/cmake-profiling.json \
73
+ docker exec orphan `
74
+ ${{ env.entry }} ${{ env.cmd }} C:\unpack.ps1
75
+
76
+ - name : Container – Configure Project with CMake
77
+ run : |
78
+ mkdir profiling
79
+ docker exec orphan `
80
+ ${{ env.entry }} ${{ env.cmd }} -Command cmake `
81
+ --preset ci-configure-dynamic-${{ matrix.vendor }} `
82
+ --profiling-output=profiling/cmake-profiling.json `
62
83
--profiling-format=google-trace
63
84
64
- - name : Container -- Build NSC
85
+ - name : Container – Build NSC
65
86
run : |
66
- docker exec orphan \
67
- ${{ env.entry }} ${{ env.cmd }} cmake --build \
68
- --preset ci-build-dynamic-${{ matrix.vendor }} \
87
+ docker exec orphan `
88
+ ${{ env.entry }} ${{ env.cmd }} -Command cmake --build `
89
+ --preset ci-build-dynamic-${{ matrix.vendor }} `
69
90
-t nsc --config ${{ matrix.config }}
70
91
71
- - name : Container -- Install NSC
92
+ - name : Container – Install NSC
72
93
run : |
73
- docker exec orphan \
74
- ${{ env.entry }} ${{ env.cmd }} cmake --install \
75
- ${{ env.binary }} --config ${{ matrix.config }} \
94
+ docker exec orphan `
95
+ ${{ env.entry }} ${{ env.cmd }} -Command cmake --install `
96
+ ${{ env.binary }} --config ${{ matrix.config }} `
76
97
--component Runtimes --prefix ${{ env.install }}
77
-
78
- docker exec orphan \
79
- ${{ env.entry }} ${{ env.cmd }} cmake --install \
80
- ${{ env.binary }} --config ${{ matrix.config }} \
98
+ docker exec orphan `
99
+ ${{ env.entry }} ${{ env.cmd }} -Command cmake --install `
100
+ ${{ env.binary }} --config ${{ matrix.config }} `
81
101
--component Executables --prefix ${{ env.install }}
82
102
83
103
- name : Package workflow artifacts
95
115
uses : actions/upload-artifact@v4
96
116
with :
97
117
name : ${{ steps.set-prefix.outputs.prefix }}-install
98
- path : ${{ steps.set-prefix.outputs.prefix }}-install.tar
118
+ path : ${{ steps.set-prefix.outputs.prefix }}-install.tar
0 commit comments