| | |
| | | *.jmeter.out |
| | | if-no-files-found: warn |
| | | retention-days: 90 |
| | | |
| | | test-msi: |
| | | needs: build-maven |
| | | runs-on: 'windows-latest' |
| | | steps: |
| | | - name: Download artifacts |
| | | uses: actions/download-artifact@v8 |
| | | with: |
| | | name: windows-latest-11 |
| | | - name: Set up Java |
| | | uses: actions/setup-java@v5 |
| | | with: |
| | | java-version: '25' |
| | | distribution: 'zulu' |
| | | - name: Install MSI (silent) |
| | | shell: pwsh |
| | | run: | |
| | | $msi = (Get-ChildItem -Recurse -Filter *.msi -Path opendj-packages/opendj-msi | Select-Object -First 1).FullName |
| | | if (-not $msi) { throw "MSI not found in the windows-latest-11 artifact" } |
| | | Write-Host "MSI: $msi" |
| | | # No OPENDJ property: use the default install directory (a path with spaces), |
| | | # which the server scripts must handle. |
| | | $p = Start-Process msiexec -Wait -PassThru -ArgumentList "/i `"$msi`" /quiet /qn /norestart /l*v install.log" |
| | | if ($p.ExitCode -ne 0) { Get-Content install.log -Tail 80; throw "msiexec /i failed: $($p.ExitCode)" } |
| | | $root = @("C:\Program Files (x86)\OpenDJ","C:\Program Files\OpenDJ") | Where-Object { Test-Path "$_\setup.bat" } | Select-Object -First 1 |
| | | if (-not $root) { Get-Content install.log -Tail 80; throw "OpenDJ install root with setup.bat not found" } |
| | | Write-Host "Installed to $root" |
| | | "OPENDJ_ROOT=$root" | Out-File -FilePath $env:GITHUB_ENV -Append |
| | | - name: Setup and start/stop the Windows service |
| | | shell: pwsh |
| | | run: | |
| | | $root = $env:OPENDJ_ROOT |
| | | $env:OPENDJ_JAVA_ARGS = "-server -Xmx512m" |
| | | & "$root\setup.bat" -h localhost -p 1389 --ldapsPort 1636 --adminConnectorPort 4444 --enableStartTLS --generateSelfSignedCertificate --rootUserDN "cn=Directory Manager" --rootUserPassword password --baseDN dc=example,dc=com --addBaseEntry --cli --acceptLicense --no-prompt --doNotStart |
| | | if ($LASTEXITCODE -ne 0) { throw "setup.bat failed: $LASTEXITCODE" } |
| | | & "$root\bat\windows-service.bat" --enableService |
| | | if ($LASTEXITCODE -ne 0) { throw "windows-service --enableService failed: $LASTEXITCODE" } |
| | | net start "OpenDJ Server" |
| | | if ($LASTEXITCODE -ne 0) { throw "net start failed: $LASTEXITCODE" } |
| | | for ($i=0; $i -lt 12; $i++) { try { $c = New-Object System.Net.Sockets.TcpClient('localhost', 1636); $c.Close(); break } catch { Start-Sleep -Seconds 5 } } |
| | | & "$root\bat\ldapsearch.bat" --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "dc=example,dc=com" --searchScope base "(objectClass=*)" 1.1 |
| | | if ($LASTEXITCODE -ne 0) { throw "ldapsearch failed: $LASTEXITCODE" } |
| | | net stop "OpenDJ Server" |
| | | if ($LASTEXITCODE -ne 0) { throw "net stop failed: $LASTEXITCODE" } |
| | | & "$root\bat\windows-service.bat" --disableService |
| | | - name: Uninstall MSI |
| | | shell: pwsh |
| | | run: | |
| | | $msi = (Get-ChildItem -Recurse -Filter *.msi -Path opendj-packages/opendj-msi | Select-Object -First 1).FullName |
| | | $p = Start-Process msiexec -Wait -PassThru -ArgumentList "/x `"$msi`" /quiet /qn /norestart /l*v uninstall.log" |
| | | if ($p.ExitCode -ne 0) { Get-Content uninstall.log -Tail 80; throw "msiexec /x failed: $($p.ExitCode)" } |
| | | Write-Host "Uninstalled OK" |