Conversation
Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenDJ/sessions/b8d7e4b7-e6e7-45c5-b70c-b90833a88d84 Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenDJ/sessions/a07e721d-23f2-4511-976c-3682f3473369 Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenDJ/sessions/9c943d96-6413-42b0-9380-3e3e6186a45d Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add steps to build Windows native executables in CI
CI: Build and upload Windows native executables (winlauncher, opendj_service, launcher_administrator)
Mar 31, 2026
Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenDJ/sessions/7a28df62-1005-4859-8e60-7f15511a9a5d Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
…ironment Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenDJ/sessions/7fb02264-b78f-4248-bd9c-6e74b2f3270d Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
…429e1a9-dbd5-4b36-b891-14c7551bd9c5' into copilot/add-windows-native-executables # Conflicts: # .github/workflows/build.yml Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com>
Added git status command to the build process.
vharseko
approved these changes
Apr 1, 2026
maximthomas
approved these changes
Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
copilot/fix-30845478-106611094-d429e1a9-dbd5-4b36-b891-14c7551bd9c5(Windows service start/stop CI test) — conflict resolved by combining both sidesOriginal prompt
Problem
The C source files in
opendj-server-legacy/src/build-tools/windows/(winlauncher.c, service.c, common.c, etc.) produce three Windows executables (winlauncher.exe,opendj_service.exe,launcher_administrator.exe) via a Makefile that uses MSVC (cl,link,rc,mc,mt). Currently the GitHub Actions workflow.github/workflows/build.ymldoes not compile these native Windows executables during CI.Required Changes
Modify
.github/workflows/build.ymlto add two new steps to thebuild-mavenjob, both conditional onrunner.os == 'Windows':Step 1: "Build Windows native executables"
This step should:
runner.os == 'Windows'vcvarsall.bat(available onwindows-latestrunners at the path provided by theVCINSTALLDIRenv var, or by using"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86)opendj-server-legacy/src/build-tools/windows/nmake allto build all three executables:winlauncher.exe,opendj_service.exe,launcher_administrator.exeshell: cmdsince MSVC vcvarsall.bat requires cmd environmentThe step should look something like:
Step 2: "Upload Windows exe artifacts"
This step should:
runner.os == 'Windows'actions/upload-artifact@v4windows-exe-${{ matrix.java }}(to avoid name conflicts with the existing upload step)retention-days: 5(consistent with the existing upload step)*.exefiles fromopendj-server-legacy/src/build-tools/windows/directoryPlacement
Both new steps should be placed after the "Test on Windows" step (line 218-236) and before the existing "Upload artifacts OpenDJ Server" step (line 237-252). This ensures the native build happens after the Maven build has completed (which produces the package) and the upload is separate from the main artifact upload.
Summary of expected executables
The Makefile (
opendj-server-legacy/src/build-tools/windows/Makefile) produces:winlauncher.exe— launcher for command-line toolsopendj_service.exe— Windows service executablelauncher_administrator.exe— launcher requiring admin privileges (Vista UAC)All three should appear in the uploaded artifact.
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: добавь сборку под Windows opendj-server-legacy/src/build-tools
/windows, а полученные артефакты *.exe присоединить actions/upload-artifact@v4
Assistant:
Let me first examine the current build workflow and the Windows build tools directory to understand what needs to be added.
Assistant: Now let me also check the full Makefile to understand how the build works:
Assistant: Теперь у меня есть полная картина. Давайте разберёмся:
В директории
opendj-server-legacy/src/build-tools/windows/находятся исходники на C, которые черезMakefile(с использованиемnmakeи Visual C++ / MSVC) собираются в 3 исполняемых файла:winlauncher.exeopendj_service.exelauncher_administrator.exeТекущий Makefile использует
cl(MSVC compiler) иlink,rc,mc,mtутилиты.Вы хотите, чтобы я создал PR, который:
.exeфайлов изopendj-server-legacy/src/build-tools/windows/в workflowbuild.yml(наwindows-latestrunners)*.exeартефакты вactions/upload-artifact@v4Хотите ли вы, чтобы я создал pull request с этими изменениями в
OpenIdentityPlatform/OpenDJ?Также уточню несколько моментов:
nmakeс MSVC (cl). Наwindows-latestrunners в GitHub Actions доступен MSVC черезvcvarsall.bat. Сборку нужно делать черезnmake allс предварительной настройкой MSVC environment. Это верно?.exeдолжен выполняться только наwindows-latest(if: runner.os == 'Windows')?*.exeнужно добавить в уже существующий шагUpload artifacts OpenDJ Serverили создать отдельный upload шаг?User: 1 да 2 да 3 отдельный только для Windows
Assistant: I've submitted a request to the Copilot coding agent to create a pull request in OpenIdentityPlatform/OpenDJ. The PR will add two new steps to
.github/workflows/build.yml(both conditional onrunner.os == 'Windows'):This pull request was created from Copilot chat.