-
-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windocker: sign_verification
jobs failing for windows docker build pipelines
#3709
Comments
sign_verification
jobs failing for windows docker build pipelinessign_verification
jobs failing for windows docker build pipelines
From the most recent build # JDK21 https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/jdk21u-windows-x64-temurin/130/ as seen in the slack thread.. https://adoptium.slack.com/archives/C09NW3L2J/p1723625298712219 |
Noting that the PR Adam mention is included int he branch I'm using so that should not be a difference that explains the failures I'm seeing. |
Noting that I have had a jdk8u build go through without issues, so this may only be affecting some of them (jdk21u has failed on me twice, no successes with the verification subjob) |
Fails for jdk21u and jdk17u - 11 currently under test at https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/247 (also failed) ... |
According to @andrew-m-leonard "the signing does not occur for “USE_ADOPT_SHELL_SCRIPTS”: false" (Ref this line). The conditional on this line line is the reason it doesn't fail for jdk8u |
New pipelines (Note I'm only including the links to the ones that didn't fall foul of #3714):
|
Done |
For some reason I'm getting failures at the end of the build when setting that value to
At this point it should be out of the section at https://github.com/adoptium/ci-jenkins-pipelines/blob/d33d46f39f7f3538abccf6520117c44530d85441/pipelines/build/common/openjdk_build_pipeline.groovy#L1623 (The |
It seems likely that this is being caused when the pipelines switch to the Eclipse system at https://github.com/adoptium/ci-jenkins-pipelines/blob/d33d46f39f7f3538abccf6520117c44530d85441/pipelines/build/common/openjdk_build_pipeline.groovy#L1652 Theory: It may be expecting it to still be running under a docker context ( |
Noting that the should be mofified to have a |
I had a call with @andrew-m-leonard today. We're going to look at a bit of a refactor of the build/buildScripts functions in openjdk_build_pipelines.groovy to split the 1400-line
This will give us better control of how they are executed and allow us to resolve the problem of the entire build phase currently being run in a docker context in the Noting that in terms of size, the current groovy file is about 2300 lines long. An alternate solution was to fire off a separate job to handle the signing, but that would have required quite a bit of extra logic to be written (and wouldn't give us the simplicity benefits). The proposed solution doesn't not preclude doing this "internal signing" in a separate job in the future if desired. |
I've started work in splitting up the
I've had to replicate some things between the |
@andrew-m-leonard A thought - since these changes will involve running part of it on the build machine, then switching over outside the main build context, and then switching back (starting up a new container but with the same workspace) do you think there is a risk of another job coming onto the machine to run another build while the signing is in process, or will it be locked out (I haven't experimented yet, but your experience might let you know whether we'll have a potential issue here) |
@sxa The 1st build is running on a Windows node context, it then switches from there to eclipse-codesign, and then returns, I believe the 1st node context is still locked |
Yeah that's definitely true in the non-docker case. Hopefully that can be retained somehow that in the new version where we're running separate contexts for the initial build and final step (Since the signing step can't be inside the docker context any more). Ideally I need to be watching it when it tries to do the signing to see if the machine is still locked. |
Looking at this and a series of similar errors that we're getting it looks like the shortnames are not initial present on the docker container, but are showing up as soon as cygwin touches the directory e.g. a I have therefore started playing "whack-a-mole" and currently have this just before the assemble phase which is doing a good job of catching most of the scenarios ... Maybe I should just do an 'ls -lR' to be safe though:
|
After adding the |
First job with a successful sign_verification step: https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/709 These builds were done from the code at https://github.com/sxa/ci-jenkins-pipelines/tree/89471642822aad4583b9a41353e1475ecb3e1767 and should be in a PR shortly (Noting that this was done using a cached tarball of the initial build phase to save time, but all of the signing and assemble steps were done "normally" during that build job. |
PR is now working on Windows/docker systems. I've also tested on a newly created docker image and that works ok. Stuff to consider:
|
That's interesting - the
|
Note that using a |
Note to self, build 932 which was on build-azure-3 completed the initial build in 1h10m.
Edit: Seems likely that build-azure-2 has a better type of disk:
933 on build-azure-2
|
Will be Fixed-by: adoptium/ci-jenkins-pipelines#1117 |
The sign job appears to be completing successfully when called from the windbld job, but the verification is failing. @steelhead31 has checked and there appears to be a valid Eclipse Signature on some of the files showing as failing in the logs.
I've locked job https://ci.adoptium.net/job/build-scripts/job/release/job/sign_verification/1588 to retain the output for now. That was started from https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/windbld/110
The text was updated successfully, but these errors were encountered: