Skip to content
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: Figure out how to use longer (original) names for the pipelines #3710

Closed
sxa opened this issue Aug 14, 2024 · 3 comments · Fixed by adoptium/ci-jenkins-pipelines#1101
Assignees
Labels
docker os:windows secure-dev Issues specific to SSDF/SLSA compliance work

Comments

@sxa
Copy link
Member

sxa commented Aug 14, 2024

As per the notes in #3286 (comment) I had the reduce the job name to windbld instead of the more usual jdk21u-windows-x64-temurin style format in order to avoid exceeding path lengths. We will need to figure out a solution to this before the windows container builds can be fully integrated into the pipelines.

We have had to take this into account in the past and shorten things. I'll also note that F:\workspace is used on some of our machines instead of F:\ws and that seems to work ok, so we also need to understand if this is an extra limitation which is specific to containers. Noting also that we don't seem to be able to use a separate workspace drive like F: which isn't already in the container.

@sxa sxa added the secure-dev Issues specific to SSDF/SLSA compliance work label Aug 22, 2024
@sxa
Copy link
Member Author

sxa commented Aug 22, 2024

Ref: #1284 (comment) and the associated PR adoptium/temurin-build#1724 which changed
We force the workspace to C:/workspace if TARGET_OS=windows in order to shorten the path lengths. This does not appear to be taking effect on the docker builds (probably a good thing since C:\workspace is not in a shared location so it wouldn't work properly - we should perhaps aim for C:\jw\ws in this case ...)

11:21:50  Running on [dockerhost-azure-win2022-x64-1](https://ci.adoptium.net/computer/dockerhost%2Dazure%2Dwin2022%2Dx64%2D1/) in c:\jw\workspace\build-scripts\jobs\jdk21u\windbld
[Pipeline] {
[Pipeline] timeout
11:21:50  Timeout set to expire in 1 hr 0 min
[Pipeline] {
[Pipeline] cleanWs
11:21:50  [WS-CLEANUP] Deleting project workspace...
11:21:50  [WS-CLEANUP] Deferred wipeout is used...
11:21:51  [WS-CLEANUP] done
[Pipeline] }
[Pipeline] // timeout
[Pipeline] sh
11:21:51  + docker inspect '--format={{.Id}}' notrhel_build_image
11:21:51  + /bin/cut -d: -f2
[Pipeline] sh
11:21:52  + docker --version
11:21:52  + grep podman
[Pipeline] isUnix
[Pipeline] withEnv
[Pipeline] {
[Pipeline] bat
11:21:53  
11:21:53  c:\jw\workspace\build-scripts\jobs\jdk21u\windbld>docker inspect -f . "notrhel_build_image" 
11:21:53  .
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] withDockerContainer
11:21:53  dockerhost-azure-win2022-x64-1 does not seem to be running inside a container
11:21:53  $ docker run -d -t -e BUILDIMAGESHA=5e151976cf54d8cb4ccd90f08eb7514c1aaf115964dd99249e4c0f0b1f81c93e
11:21:53   --init -w c:/jw/workspace/build-scripts/jobs/jdk21u/windbld/ -v c:/jw/workspace/build-scripts/jobs/jdk21u/windbld/:c:/jw/workspace/build-scripts/jobs/jdk21u/windbld/ -v c:/jw/workspace/build-scripts/jobs/jdk21u/windbld@tmp/:c:/jw/workspace/build-scripts/jobs/jdk21u/windbld@tmp/ -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** notrhel_build_image cmd.exe
11:21:57  $ docker top 1db84a1852ce39ae38058844790a46eb15c30f12c92025164d685d85567f1239
[Pipeline] {
[Pipeline] stage
[Pipeline] { (build)
[Pipeline] echo
11:21:57  USER_REMOTE_CONFIGS:

but is in the main jdk21 pipelines:

20:01:19  Running on [build-azure-win2022-x64-3](https://ci.adoptium.net/computer/build%2Dazure%2Dwin2022%2Dx64%2D3/) in c:\workspace\workspace\build-scripts\jobs\jdk21u\jdk21u-windows-x64-temurin
[Pipeline] {
[Pipeline] echo
20:01:19  checking windows
[Pipeline] echo
20:01:19  changing C:/workspace/openjdk-build/
[Pipeline] ws
20:01:19  Running in C:/workspace/openjdk-build

[Pipeline] {
[Pipeline] stage
[Pipeline] { (build)
[Pipeline] echo
20:01:19  USER_REMOTE_CONFIGS: 
[Pipeline] echo

@sxa
Copy link
Member Author

sxa commented Aug 22, 2024

The above change to the workspace directory is in an else section which only takes place if the DOCKER_IMAGE variable is not set so this should be relatively simple to resolve, and also resolve in a way that I can use a shared folder C:\jw\ws instead of C:\workspace :-)

@sxa
Copy link
Member Author

sxa commented Aug 22, 2024

Testing at https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk21u/job/jdk21u-windows-x64-temurin/142/console which has started the build at the time of writing this comment (although that took three attempts due to #3714

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker os:windows secure-dev Issues specific to SSDF/SLSA compliance work
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant