Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 36 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,10 @@ jobs:
test-windows:
runs-on: windows-latest
needs: build-installers
strategy:
max-parallel: 1
matrix:
installiis: [ false, true ]
steps:
- name: Set defaults for Push workflows
if: github.event_name == 'push'
Expand All @@ -559,12 +563,20 @@ jobs:
java-version: '21'
distribution: 'temurin'

- name: Run Windows Installer
- name: Install IIS
if: ${{ matrix.installiis }}
shell: powershell
run: |
Install-WindowsFeature -Name Web-Server
Start-Service W3SVC
Write-Host "IIS installed and running"

- name: Run Windows Installer [installiis=${{ matrix.installiis }}]
shell: cmd
run: |
cd
echo "Lucee Windows installer ${{ env.LUCEE_INSTALLER_VERSION }}" >> %GITHUB_STEP_SUMMARY%
lucee-${{ env.LUCEE_INSTALLER_VERSION }}-windows-x64-installer.exe --mode unattended --installconn false --installmodcfml false --installiis false --startatboot true --luceepass ibtest --installjre ${{ env.INSTALL_JRE }}
echo "Lucee Windows installer ${{ env.LUCEE_INSTALLER_VERSION }} (installiis=${{ matrix.installiis }})" >> %GITHUB_STEP_SUMMARY%
lucee-${{ env.LUCEE_INSTALLER_VERSION }}-windows-x64-installer.exe --mode unattended --installconn false --installmodcfml false --installiis ${{ matrix.installiis }} --startatboot true --luceepass ibtest --installjre ${{ env.INSTALL_JRE }}
pwd
c:
cd c:\lucee\tomcat\bin
Expand All @@ -575,10 +587,30 @@ jobs:
cd ..\..
pwd

echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#chr(10)##### Lucee Linux #server.lucee.version#, using Java #server.java.version##chr(10)# #### Running on #server.servlet.name#, OS #server.os.version# #server.os.arch#</cfoutput>" > c:\lucee\tomcat\webapps\ROOT\check.cfm
echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#chr(10)##### Lucee Windows #server.lucee.version#, using Java #server.java.version##chr(10)# #### Running on #server.servlet.name#, OS #server.os.version# #server.os.arch#</cfoutput>" > c:\lucee\tomcat\webapps\ROOT\check.cfm

dir c:\lucee\tomcat\webapps\ROOT
curl http://127.0.0.1:8888/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body -o %GITHUB_STEP_SUMMARY%

- name: Verify BonCode event source registered (LDEV-6164)
if: ${{ matrix.installiis }}
shell: powershell
run: |
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application\BonCodeConnector"
if (Test-Path $regPath) {
Write-Host "PASS: Event source registry key exists at $regPath"
} else {
Write-Error "FAIL: Event source registry key NOT found at $regPath"
exit 1
}

- name: Verify IIS serves Lucee via Boncode
if: ${{ matrix.installiis }}
shell: cmd
run: |
echo "Check IIS port 80 via Boncode" >> %GITHUB_STEP_SUMMARY%
curl http://127.0.0.1/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> %GITHUB_STEP_SUMMARY%

- name: debug failure
if: ${{ failure() }}
shell: cmd
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ jre/x64-linux/jre/
jre/aarch64-linux/jre/
src-tomcat/
express.bat
/.claude
12 changes: 12 additions & 0 deletions lucee/lucee.xml
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,18 @@ Please review ${installer_installation_log}.</text>
</isTrue>
</ruleList>
</runProgram>
<!-- LDEV-6164: Register BonCode event source to prevent midnight crash
See https://github.com/Bilal-S/iis2tomcat/issues/113 -->
<runProgram>
<abortOnError>0</abortOnError>
<program>reg</program>
<programArguments>add HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\BonCodeConnector /f</programArguments>
<ruleList>
<isTrue>
<value>${installiis}</value>
</isTrue>
</ruleList>
</runProgram>
<copyFile>
<destination>${env(SYSTEMDRIVE)}\inetpub\wwwroot\index.cfm</destination>
<origin>${installdir}\tomcat\webapps\ROOT\index.cfm</origin>
Expand Down
Loading