Signed-off-by: John Howard jhoward@microsoft.com
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
| ... | ... |
@@ -71,8 +71,9 @@ |
| 71 | 71 |
# |
| 72 | 72 |
# 4. Build the docker executable binaries by running one of the following: |
| 73 | 73 |
# |
| 74 |
-# >> docker run --name binaries nativebuildimage hack\make.ps1 -Binary |
|
| 75 |
-# >> docker run --name binaries -m 2GB nativebuildimage hack\make.ps1 -Binary (if using Hyper-V containers) |
|
| 74 |
+# >> $DOCKER_GITCOMMIT=(git rev-parse --short HEAD) |
|
| 75 |
+# >> docker run --name binaries -e DOCKER_GITCOMMIT=$DOCKER_GITCOMMIT nativebuildimage hack\make.ps1 -Binary |
|
| 76 |
+# >> docker run --name binaries -e DOCKER_GITCOMMIT=$DOCKER_GITCOMMIT -m 2GB nativebuildimage hack\make.ps1 -Binary (if using Hyper-V containers) |
|
| 76 | 77 |
# |
| 77 | 78 |
# |
| 78 | 79 |
# 5. Copy the binaries out of the container, replacing HostPath with an appropriate destination |
| ... | ... |
@@ -98,19 +99,14 @@ |
| 98 | 98 |
# ----------------------------------------------------------------------------------------- |
| 99 | 99 |
|
| 100 | 100 |
|
| 101 |
-# The validation tests can either run in a container, or directly on the host. To run in a |
|
| 102 |
-# container, ensure you have created the nativebuildimage above. Then run one of the |
|
| 103 |
-# following from an (elevated) Windows PowerShell prompt: |
|
| 104 |
-# |
|
| 105 |
-# >> docker run --rm nativebuildimage hack\make.ps1 -DCO -PkgImports -GoFormat |
|
| 106 |
-# >> docker run --rm -m 2GB nativebuildimage hack\make.ps1 -DCO -PkgImports -GoFormat (if using Hyper-V containers) |
|
| 107 |
- |
|
| 108 |
-# To run the validation tests on the host, from the root of the repository, run the |
|
| 109 |
-# following from a Windows PowerShell prompt (elevation is not required): (Note Go |
|
| 110 |
-# must be installed to run these tests) |
|
| 101 |
+# The validation tests can only run directly on the host. This is because they calculate |
|
| 102 |
+# information from the git repo, but the .git directory is not passed into the image as |
|
| 103 |
+# it is excluded via .dockerignore. Run the following from a Windows PowerShell prompt |
|
| 104 |
+# (elevation is not required): (Note Go must be installed to run these tests) |
|
| 111 | 105 |
# |
| 112 | 106 |
# >> hack\make.ps1 -DCO -PkgImports -GoFormat |
| 113 | 107 |
|
| 108 |
+ |
|
| 114 | 109 |
# ----------------------------------------------------------------------------------------- |
| 115 | 110 |
|
| 116 | 111 |
|
| ... | ... |
@@ -124,7 +120,7 @@ |
| 124 | 124 |
# ----------------------------------------------------------------------------------------- |
| 125 | 125 |
|
| 126 | 126 |
|
| 127 |
-# To run all tests and binary build, ensure you have created the nativebuildimage above. Then |
|
| 127 |
+# To run unit tests and binary build, ensure you have created the nativebuildimage above. Then |
|
| 128 | 128 |
# run one of the following from an (elevated) Windows PowerShell prompt: |
| 129 | 129 |
# |
| 130 | 130 |
# >> docker run nativebuildimage hack\make.ps1 -All |
| ... | ... |
@@ -21,7 +21,7 @@ |
| 21 | 21 |
"hack\make.ps1 -Client" to build just the client 64-bit binary |
| 22 | 22 |
"hack\make.ps1 -TestUnit" to run unit tests |
| 23 | 23 |
"hack\make.ps1 -Binary -TestUnit" to build the binaries and run unit tests |
| 24 |
- "hack\make.ps1 -All" to run everything this script knows about |
|
| 24 |
+ "hack\make.ps1 -All" to run everything this script knows about that can run in a container |
|
| 25 | 25 |
|
| 26 | 26 |
.PARAMETER Client |
| 27 | 27 |
Builds the client binaries. |
| ... | ... |
@@ -48,24 +48,23 @@ |
| 48 | 48 |
Adds a custom string to be appended to the commit ID (spaces are stripped). |
| 49 | 49 |
|
| 50 | 50 |
.PARAMETER DCO |
| 51 |
- Runs the DCO (Developer Certificate Of Origin) test. |
|
| 51 |
+ Runs the DCO (Developer Certificate Of Origin) test (must be run outside a container). |
|
| 52 | 52 |
|
| 53 | 53 |
.PARAMETER PkgImports |
| 54 |
- Runs the pkg\ directory imports test. |
|
| 54 |
+ Runs the pkg\ directory imports test (must be run outside a container). |
|
| 55 | 55 |
|
| 56 | 56 |
.PARAMETER GoFormat |
| 57 |
- Runs the Go formatting test. |
|
| 57 |
+ Runs the Go formatting test (must be run outside a container). |
|
| 58 | 58 |
|
| 59 | 59 |
.PARAMETER TestUnit |
| 60 | 60 |
Runs unit tests. |
| 61 | 61 |
|
| 62 | 62 |
.PARAMETER All |
| 63 |
- Runs everything this script knows about. |
|
| 63 |
+ Runs everything this script knows about that can run in a container. |
|
| 64 | 64 |
|
| 65 | 65 |
|
| 66 | 66 |
TODO |
| 67 | 67 |
- Unify the head commit |
| 68 |
-- Sort out the GITCOMMIT environment variable in the absence of a .git (longer term) |
|
| 69 | 68 |
- Add golint and other checks (swagger maybe?) |
| 70 | 69 |
|
| 71 | 70 |
#> |
| ... | ... |
@@ -314,7 +313,9 @@ Try {
|
| 314 | 314 |
Push-Location $root |
| 315 | 315 |
|
| 316 | 316 |
# Handle the "-All" shortcut to turn on all things we can handle. |
| 317 |
- if ($All) { $Client=$True; $Daemon=$True; $DCO=$True; $PkgImports=$True; $GoFormat=$True; $TestUnit=$True }
|
|
| 317 |
+ # Note we expressly only include the items which can run in a container - the validations tests cannot |
|
| 318 |
+ # as they require the .git directory which is excluded from the image by .dockerignore |
|
| 319 |
+ if ($All) { $Client=$True; $Daemon=$True; $TestUnit=$True }
|
|
| 318 | 320 |
|
| 319 | 321 |
# Handle the "-Binary" shortcut to build both client and daemon. |
| 320 | 322 |
if ($Binary) { $Client = $True; $Daemon = $True }
|