From c3dab3b1a9bfb885f1cf535f3844e649e23ffb64 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Wed, 01 Apr 2026 08:53:39 +0000
Subject: [PATCH] CI: Build and upload Windows native executables (winlauncher, opendj_service, launcher_administrator) (#611)

---
 .github/workflows/build.yml |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index af65065..9123cd5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -42,11 +42,21 @@
          path: ~/.m2/repository
          key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2-repository
+    - name: Build Windows native executables
+      if: runner.os == 'Windows'
+      shell: cmd
+      run: |
+        call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
+        cd opendj-server-legacy\src\build-tools\windows
+        nmake all
+        xcopy /Y *.exe ..\..\..\lib\
+        git status
     - name: Set Integration Test Environment
       id: failsafe
       if: runner.os != 'Windows'
       run:   |
         echo "MAVEN_PROFILE_FLAG=-P precommit" >> $GITHUB_OUTPUT
+
     - name: Build with Maven
       timeout-minutes: 180
       env:
@@ -240,6 +250,15 @@
         opendj-server-legacy\target\package\opendj\bat\ldapsearch.bat --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "dc=example2,dc=com" --searchScope sub "(uid=user.*)" dn | find /c '"dn:"' | findstr "10000"
         net stop "OpenDJ Server"
         opendj-server-legacy\target\package\opendj\bat\windows-service.bat --disableService
+
+    - name: Upload Windows exe artifacts
+      if: runner.os == 'Windows'
+      uses: actions/upload-artifact@v4
+      with:
+        name: windows-exe-${{ matrix.java }}
+        retention-days: 5
+        path: opendj-server-legacy/src/build-tools/windows/*.exe
+
     - name: Upload artifacts OpenDJ Server
       uses: actions/upload-artifact@v4
       with:

--
Gitblit v1.10.0