Reinstate Windows CI Pipeline usefulness#41638
Conversation
8128381 to
cf03f40
Compare
|
Dang. Because I touched integration-cli (moved some tests) CI is seeing them as new tests and rejects validation. Specifically, it checks: but there's also because I just moved those tests. I'm not sure how to bypass this, short of changing the validation to check that no net new tests have been added, or something. And it means the rest of the validation pipeline doesn't run. -_- |
ace026f to
d0574be
Compare
|
We should be ok to ignore the RS1 failures (RS1 is not running by default, I triggered it manually to see if there's no huge problem), and doesn't look like a regression caused by this PR; Same test passes on RS5; https://ci-next.docker.com/public/blue/rest/organizations/jenkins/pipelines/moby/branches/PR-41638/runs/4/nodes/286/log/?start=0 Unit tests passed on both RS1 and RS5; And integration tests on RS5; I manually ran the And cross; root@3b8fca845230:/go/src/github.com/docker/docker# hack/make.sh cross
Removing bundles/
---> Making bundle: cross (in bundles/cross)
Cross building: bundles/cross/linux/amd64
Building: bundles/cross/linux/amd64/dockerd-dev
GOOS="linux" GOARCH="amd64" GOARM=""
Created binary: bundles/cross/linux/amd64/dockerd-dev
Copying nested executables into bundles/cross/linux/amd64
Cross building: bundles/cross/windows/amd64
Building: bundles/cross/windows/amd64/dockerd-dev.exe
GOOS="windows" GOARCH="amd64" GOARM=""
Created binary: bundles/cross/windows/amd64/dockerd-dev.exe
Cloning into '/go/src/github.com/docker/windows-container-utility'...
remote: Enumerating objects: 2, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 23 (delta 0), reused 0 (delta 0), pack-reused 21
Unpacking objects: 100% (23/23), done.
Building: bundles/cross/windows/amd64/containerutility.exe |
So what we did on previous occasions, is to push a temporary commit to disable that check, and revert afterwards in a follow-up PR. See my above comment; I tried the important tests that were skipped locally, and I'd be comfortable merging as-is; let me run CI once more to see if the RS1 failure is something to look into, or just some race condition (as RS1 is generally slower) |
|
I'm happy to merge as-is. Once this lands, I'll be rebasing #41636 onto it, and if any later validation errors do show up, I will see them there and follow up ASAP.
|
|
Currently, Docker doesn't publish Windows Server packages (they used to be part of Docker Enterprise), only Docker Desktop (which I know some people install on Windows Server); bringing back Windows packages is being discussed, but no ETA yet. We might drop Windows 2016 ("rs1") at that point as well (or at least; it wouldn't be a main point of focus), as it's ending it's shelve-life anyway, and overall experience is so much worse than newer versions of Windows. |
|
Or we could move the tests to integration/ 😄 |
|
I think the check is useful if we don't want the integration-cli to be added to(and we did miss that on occasion); it should be easier to override though. Moving the test would be ok of course; point is that currently, master is broken, and I'd love to see that fixed (and not put the burden of additional work on @TBBle) |
|
I am in no way committing to do this, but for my general understanding, it looks like those two tests would be best moved to https://github.com/moby/moby/blob/master/integration/container/mounts_linux_test.go? Edit: I decided to give the move a try, it looked like a pretty simple translation. We'll see if CI agrees with me. Edit: Looks good. I can see the moved tests passing in CI, and the validation pipeline passed, so I think I'm clear. Might be worth someone who knows what they're doing making sure I didn't do the test-migration wrong in 219557e and accidentally add a tautology. The only oddity is the shared-mount setup. The Edit: Dang. Rootless failed. On examination, Rootless doesn't run the Integration-CLI test suite, so maybe this test is invalid under rootless... Edit: Ah, the other user of Final edit: CI Passed except "Build e2e image", which passed on the previous build. The only change after that was disabling the two rewritten tests on rootless and rebasing onto master, so I think it's good-to-go. Post-final edit: After rebase, this time it's the ppc64-le build-dev-image that fails with some kind of network timeout on CI. Definitely not a problem caused by this PR. |
219557e to
f090812
Compare
It turns out that the Finally block does not see the exit code from the `exit` call that triggered it, but from an earlier state. And it seems that actions take in the Finally block other than `exit` will not affect the $LastErrorCode set by the `exit` that triggered the Finally block. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Rather than bifurcate the test completely, this lets us keep the test intact with a small function wrapper to allow the compiler to build the code that'll never be called on Windows, on Windows. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
This moves the two tests from integration-CLI to integration. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
f090812 to
7ba05f2
Compare
cpuguy83
left a comment
There was a problem hiding this comment.
Minor nit, but LGTM.
No idea about that windows.ps1, though.
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
Thanks to @cpuguy83 for pointing these APIs out in moby#41638. Signed-off-by: Paul "TBBle" Hampson <[email protected]>
- What I did
Supplants: #41637
- How I did it
$LastExitCodein theFinallyblock: that block does not see the$LastExitCodefor the exit that triggered it, and failures inside the block do not change the$LastExitCodeseen after the block exits.- How to verify it
- Description for the changelog
N/A, fixing a recent build break.
- A picture of a cute animal (not mandatory but encouraged)
(Picture by https://twitter.com/mofu_sand)