Skip to content

Build Lucee Installer #426

Build Lucee Installer

Build Lucee Installer #426

Workflow file for this run

name: Build Lucee Installer
on:
# Allows you to run this workflow manually from the Actions tab
push:
workflow_dispatch:
inputs:
LUCEE_VERSION:
required: true
type: string
DRY_RUN:
required: false
default: true
type: boolean
# Triggers the workflow on push or pull request events but only for the master branch
pull_request:
workflow_call:
inputs:
LUCEE_VERSION:
required: true
type: string
DRY_RUN:
required: false
default: false
type: boolean
repository_dispatch:
types: [build-installers]
env:
LUCEE_INSTALLER_VERSION: ${{ github.event.inputs.LUCEE_VERSION }}
IB_URL: https://releases.installbuilder.com/installbuilder/installbuilder-enterprise-24.3.0-linux-x64-installer.run
IB_NAME: installbuilder-enterprise-24.3.0-linux-x64-installer.run
lucee_build_version: 6.2.2.90-RC
DRY_RUN: ${{ github.event.inputs.DRY_RUN }}
PUSH_LUCEE_TEST_VERSION: 6.2.2.90-RC
LUCEE_ENABLE_BUNDLE_DOWNLOAD: false # installers should work offline without downloading bundles
INSTALL_OS_JAVA: false # for testing, not all images have java installed by default
INSTALL_JRE: true
jobs:
build-installers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download and Install InstallBuilder
run: |
curl ${{ env.IB_URL }} -o ${{ env.IB_NAME }}
ls -l
chmod a+x ${{ env.IB_NAME }}
echo "running installer...."
./${{ env.IB_NAME }} --prefix /tmp/ib --mode unattended
- name: Set Install Builder license
env:
INSTALLBUILDER_LICENSE: ${{ secrets.INSTALLBUILDER_LICENSE }}
shell: bash
run: |
echo "$INSTALLBUILDER_LICENSE" >> lucee/license.xml
- name: Download Lucee Jar
run: |
curl --fail https://cdn.lucee.org/lucee-${{ env.LUCEE_INSTALLER_VERSION }}.jar -o lucee-${{ env.LUCEE_INSTALLER_VERSION }}.jar -s
pwd
ls -l
mv lucee-${{ env.LUCEE_INSTALLER_VERSION }}.jar lucee/lucee/lib/
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: lucee-script-runner-maven-cache
- name: Download latest Tomcat and Java
uses: lucee/script-runner@main
with:
webroot: ${{ github.workspace }}/
execute: /download-latest-java-tomcat.cfm
luceeVersion: ${{ env.lucee_build_version }}
- name: Prepare Tomcat Linux
run: |
pwd
cd lucee/tomcat9/
rm -rf tomcat
cd ../..
pwd
ls -l
mv src-tomcat/linux lucee/tomcat9/tomcat
cp -ar lucee/tomcat9/tomcat-lucee-conf/* lucee/tomcat9/tomcat
ls -lRh
- name: Build Lucee Installer - Linux x86 x64
run: |
cd lucee
/tmp/ib/bin/builder build lucee.xml linux-x64 --verbose --license license.xml
- name: Build Lucee Installer - Linux aarch64
run: |
cd lucee
/tmp/ib/bin/builder build lucee.xml linux-arm64 --verbose --license license.xml
mv /tmp/ib/output/lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-arm64-installer.run \
/tmp/ib/output/lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-installer.run
- name: Prepare Tomcat Windows
run: |
cd lucee/tomcat9/
rm -rfv tomcat
cd ../..
pwd
ls -l
mv src-tomcat/windows lucee/tomcat9/tomcat
cp -ar lucee/tomcat9/tomcat-lucee-conf/* lucee/tomcat9/tomcat
ls -lRh
- name: Build Lucee Installer - Windows x64
run: |
cd lucee
/tmp/ib/bin/builder build lucee.xml windows-x64 --verbose --license license.xml
- name: Upload Artifact - Linux Installer x86
uses: actions/upload-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-run
path: /tmp/ib/output/*linux-x64-installer.run
retention-days: 1
compression-level: 0
- name: Upload Artifact - Linux Installer Arm
uses: actions/upload-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-run
path: /tmp/ib/output/*linux-aarch64-installer.run
retention-days: 1
compression-level: 0
- name: Upload Artifact - Windows Installer
uses: actions/upload-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-windows
path: /tmp/ib/output/*.exe
retention-days: 1
compression-level: 0
test-ubuntu-linux-x64:
runs-on: ubuntu-latest
needs: build-installers
strategy:
max-parallel: 1
matrix:
user: [ $USER, root, lucee ]
steps:
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download Linux Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-run
- name: Update and install Apache
run: |
sudo apt-get update
sudo apt-get install -y apache2
- name: Start Apache service
run: |
sudo systemctl start apache2
sudo systemctl enable apache2
- name: Verify Apache is running
run: |
sudo systemctl status apache2
- name: list dir
run: |
ls -l
- name: Run Linux installer as [${{matrix.user}}]
run: |
ls -l
chmod +x lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run
sudo ./lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run \
--mode unattended --installconn true --installmodcfml true --installiis false --startatboot false \
--luceepass ibtest --systemuser ${{matrix.user}} --installjre ${{ env.INSTALL_JRE }}
sleep 10;
sudo ls -l /var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo chmod o+w /var/www/html
sudo usermod -a -G www-data ${{matrix.user}}
echo "Write out simple test script to confirm Lucee / Java / Tomcat versions" | tee -a $GITHUB_STEP_SUMMARY
sudo -u ${{matrix.user}} bash -c 'echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#### 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>" > /opt/lucee/tomcat/webapps/ROOT/check.cfm'
sudo cat /tmp/installbuilder_installer.log
echo "Check Tomcat port 8888" | tee -a $GITHUB_STEP_SUMMARY
curl http://127.0.0.1:8888/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
echo "Check Apache port 80" | tee -a $GITHUB_STEP_SUMMARY
sudo cp /opt/lucee/tomcat/webapps/ROOT/check.cfm /var/www/html/check.cfm
curl -L --max-redirs 5 http://lucee.localhost/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
#sleep 5
sudo /opt/lucee/lucee_ctl stop
- name: debug failure
if: ${{ failure() }}
run: |
ls -l /tmp
cd /tmp
echo "----- installbuilder_installer.log"
sudo -s cat installbuilder_installer.log
cd /opt/lucee
echo "------ ls -lR /opt/lucee"
sudo ls -lR
echo "----- install.log"
sudo [ -r install.log ] && sudo -s cat install.log
sudo ls -l /opt/lucee/tomcat/logs/
echo "----- catalina.out"
sudo [ -r /opt/lucee/tomcat/logs/catalina.out ] && sudo cat /opt/lucee/tomcat/logs/catalina.out
sudo -s cat /var/log/apache2/error.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/out.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/err.log
#cat /opt/lucee/tomcat/logs/catalina.out
echo "----- lucee_ctl"
sudo -s cat /opt/lucee/lucee_ctl
test-debian-linux-x64:
runs-on: ubuntu-latest
needs: build-installers
container: debian:12
strategy:
max-parallel: 1
matrix:
user: [ root, lucee ]
steps:
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download Linux Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-run
- name: Update and install Apache
run: |
apt-get update
apt-get install -y sudo
apt-get install -y curl
apt-get install -y apache2
- name: Install Java
if: ${{ env.INSTALL_OS_JAVA }}
run: |
apt-get install -y openjdk-17-jre
- name: Start Apache service (no sudo/systemctl)
run: |
apache2ctl start
- name: Verify Apache is running
run: |
apache2ctl status
- name: list dir
run: |
ls -l
- name: Run Linux installer as [${{matrix.user}}]
run: |
ls -l
chmod +x lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run
sudo ./lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run \
--mode unattended \
--installconn true \
--installmodcfml true \
--installiis false \
--startatboot false \
--luceepass ibtest \
--systemuser ${{matrix.user}} \
--installjre ${{ env.INSTALL_JRE }}
sleep 10;
sudo ls -l /var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo chmod o+w /var/www/html
sudo usermod -a -G www-data ${{matrix.user}}
echo "Write out simple test script to confirm Lucee / Java / Tomcat versions" | tee -a $GITHUB_STEP_SUMMARY
sudo -u ${{matrix.user}} bash -c 'echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#### 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>" > /opt/lucee/tomcat/webapps/ROOT/check.cfm'
sudo cat /tmp/installbuilder_installer.log
echo "Check Tomcat port 8888" | tee -a $GITHUB_STEP_SUMMARY
curl http://127.0.0.1:8888/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
echo "Check Apache port 80" | tee -a $GITHUB_STEP_SUMMARY
sudo cp /opt/lucee/tomcat/webapps/ROOT/check.cfm /var/www/html/check.cfm
curl -L --max-redirs 5 http://lucee.localhost/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
#sleep 5
sudo /opt/lucee/lucee_ctl stop
- name: debug failure
if: ${{ failure() }}
run: |
ls -l /tmp
cd /tmp
echo "----- installbuilder_installer.log"
sudo -s cat installbuilder_installer.log
cd /opt/lucee
echo "------ ls -lR /opt/lucee"
sudo ls -lR
echo "----- install.log"
sudo [ -r install.log ] && sudo -s cat install.log
sudo ls -l /opt/lucee/tomcat/logs/
echo "----- catalina.out"
sudo [ -r /opt/lucee/tomcat/logs/catalina.out ] && sudo cat /opt/lucee/tomcat/logs/catalina.out
sudo -s cat /var/log/apache2/error.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/out.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/err.log
#cat /opt/lucee/tomcat/logs/catalina.out
echo "----- lucee_ctl"
sudo -s cat /opt/lucee/lucee_ctl
test-alma-linux-x64:
runs-on: ubuntu-latest
needs: build-installers
container: almalinux:latest
strategy:
max-parallel: 2
matrix:
user: [ root, lucee ] # $USER is just root anyway!
steps:
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download Linux Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-run
- name: Update and install Apache
run: |
dnf install sudo -y
sudo dnf update -y
sudo dnf install httpd -y
- name: Install Java
if: ${{ env.INSTALL_OS_JAVA }}
run: |
sudo dnf install java-21-openjdk -y
- name: Start Apache service (no sudo/systemctl)
run: |
sudo httpd -k start
- name: list dir
run: |
ls -l
- name: Run Linux installer as [${{matrix.user}}]
run: |
ls -l
chmod +x lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run
sudo ./lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-installer.run \
--mode unattended \
--installconn true \
--installmodcfml true \
--installiis false \
--startatboot false \
--luceepass ibtest \
--systemuser ${{ matrix.user }} \
--installjre ${{ env.INSTALL_JRE }}
sleep 10;
sudo ls -l /var/www/html
sudo chown -R apache:apache /var/www/html
sudo chmod o+w /var/www/html
sudo usermod -a -G apache ${{ matrix.user }}
echo "Write out simple test script to confirm Lucee / Java / Tomcat versions" | tee -a $GITHUB_STEP_SUMMARY
sudo -u ${{matrix.user}} bash -c 'echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#### 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>" > /opt/lucee/tomcat/webapps/ROOT/check.cfm'
sudo cat /tmp/installbuilder_installer.log
echo "Check Tomcat port 8888" | tee -a $GITHUB_STEP_SUMMARY
curl http://127.0.0.1:8888/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
echo "Check Apache port 80" | tee -a $GITHUB_STEP_SUMMARY
sudo cp /opt/lucee/tomcat/webapps/ROOT/check.cfm /var/www/html/check.cfm
curl -L --max-redirs 5 http://lucee.localhost/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
#sleep 5
sudo /opt/lucee/lucee_ctl stop
- name: debug failure
if: ${{ failure() }}
run: |
ls -l /tmp
cd /tmp
echo "----- installbuilder_installer.log"
sudo -s cat installbuilder_installer.log
cd /opt/lucee
echo "------ ls -lR /opt/lucee"
sudo ls -lR
echo "----- install.log"
sudo [ -r install.log ] && sudo -s cat install.log
sudo ls -l /opt/lucee/tomcat/logs/
echo "----- catalina.out"
sudo [ -r /opt/lucee/tomcat/logs/catalina.out ] && sudo cat /opt/lucee/tomcat/logs/catalina.out
sudo -s cat /var/log/http/error_log
#cat /opt/lucee/tomcat/lucee-server/context/logs/out.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/err.log
#cat /opt/lucee/tomcat/logs/catalina.out
echo "----- lucee_ctl"
sudo -s cat /opt/lucee/lucee_ctl
test-ubuntu-linux-aarch64:
runs-on: ubuntu-24.04-arm
needs: build-installers
strategy:
max-parallel: 1
matrix:
user: [ $USER, root, lucee ]
steps:
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download Linux Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-run
- name: Update and install Apache
run: |
sudo apt-get update
sudo apt-get install -y apache2
- name: Start Apache service
run: |
sudo systemctl start apache2
sudo systemctl enable apache2
- name: Verify Apache is running
run: |
sudo systemctl status apache2
- name: list dir
run: |
ls -l
- name: Run Arm Linux installer as [${{matrix.user}}]
run: |
ls -l
chmod +x lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-installer.run
sudo ./lucee-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-installer.run \
--mode unattended --installconn true --installmodcfml true --installiis false --startatboot false \
--luceepass ibtest --systemuser ${{matrix.user}} --installjre ${{ env.INSTALL_JRE }}
sleep 10;
sudo ls -l /var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo chmod o+w /var/www/html
sudo usermod -a -G www-data ${{matrix.user}}
sudo cat /tmp/installbuilder_installer.log
echo "Write out simple test script to confirm Lucee / Java / Tomcat versions" tee -a $GITHUB_STEP_SUMMARY
sudo -u ${{matrix.user}} bash -c 'echo "<cfscript>if (server.lucee.version neq url.version) header statusCode=500;</cfscript><cfoutput>#### 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>" > /opt/lucee/tomcat/webapps/ROOT/check.cfm'
echo "Check Tomcat port 8888" | tee -a $GITHUB_STEP_SUMMARY
curl http://127.0.0.1:8888/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
echo "Check Apache port 80" | tee -a $GITHUB_STEP_SUMMARY
sudo cp /opt/lucee/tomcat/webapps/ROOT/check.cfm /var/www/html/check.cfm
sudo ls -l /var/www/html
curl -L --max-redirs 5 http://lucee.localhost/check.cfm?version=${{ env.LUCEE_INSTALLER_VERSION }} --fail-with-body >> $GITHUB_STEP_SUMMARY
#sleep 5
sudo /opt/lucee/lucee_ctl stop
- name: debug failure
if: ${{ failure() }}
run: |
ls -l /tmp
cd /tmp
echo "----- installbuilder_installer.log"
sudo -s cat installbuilder_installer.log
cd /opt/lucee
echo "------ ls -lR /opt/lucee"
sudo ls -lR
echo "----- install.log"
sudo [ -r install.log ] && sudo -s cat install.log
sudo ls -l /opt/lucee/tomcat/logs
echo "--------hacky workaround, use LUCEE_ENABLE_WARMUP and catalina.sh run"
export LUCEE_ENABLE_WARMUP=true
sudo --preserve-env=LUCEE_ENABLE_WARMUP /opt/lucee/tomcat/bin/catalina.sh run
echo "----- catalina.out"
sudo ls -l /opt/lucee/tomcat/logs/
sudo [ -r /opt/lucee/tomcat/logs/catalina.out ] && sudo cat /opt/lucee/tomcat/logs/catalina.out
sudo -s cat /var/log/apache2/error.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/out.log
#cat /opt/lucee/tomcat/lucee-server/context/logs/err.log
#cat /opt/lucee/tomcat/logs/catalina.out
echo "----- lucee_ctl"
sudo -s cat /opt/lucee/lucee_ctl
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'
shell: cmd
run: |
echo DRY_RUN=true>> %GITHUB_ENV%
echo LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}>> %GITHUB_ENV%
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
shell: cmd
run: |
echo DRY_RUN=true>> %GITHUB_ENV%
echo LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}>> %GITHUB_ENV%
- name: Download Windows Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-windows
- name: list dir
run: |
dir
- uses: actions/setup-java@v4
if: ${{ env.INSTALL_OS_JAVA }}
with:
java-version: '21'
distribution: 'temurin'
- 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 }} (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
pwd
call startup.bat
echo force sleeping for 10s
powershell -command "Start-Sleep -s 10"
cd ..\..
pwd
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
run: |
ECHO installbuilder_installer.log
dir C:\Users\RUNNER~1\AppData\Local\Temp\
IF EXIST "C:\Users\RUNNER~1\AppData\Local\Temp\installbuilder_installer.log" type "C:\Users\RUNNER~1\AppData\Local\Temp\installbuilder_installer.log"
ECHO catalina.out
for /f "tokens=*" %f in ('dir /b /s "catalina*.log"') do type "%f"
ECHO install.log
IF EXIST "c:\lucee\install.log" type "c:\lucee\install.log"
dir /S c:\lucee\
publish-to-s3:
runs-on: ubuntu-latest
needs: [
test-windows,
test-ubuntu-linux-x64,
test-alma-linux-x64,
test-debian-linux-x64,
test-ubuntu-linux-aarch64,
build-installers
]
if: ${{ github.event.inputs.DRY_RUN != true }}
env:
S3_ACCESS_ID_DOWNLOAD: ${{ secrets.S3_ACCESS_ID_DOWNLOAD }}
S3_SECRET_KEY_DOWNLOAD: ${{ secrets.S3_SECRET_KEY_DOWNLOAD }}
DRY_RUN: ${{ github.event.inputs.DRY_RUN }}
steps:
- uses: actions/checkout@v4.1.1
- name: Set defaults for Push workflows
if: github.event_name == 'push'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Set defaults for Pull requests
if: github.event_name == 'pull_request'
run: |
echo "DRY_RUN=true" >> $GITHUB_ENV
echo "LUCEE_INSTALLER_VERSION=${{ env.PUSH_LUCEE_TEST_VERSION }}" >> $GITHUB_ENV
- name: Download Windows Installer artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-windows
- name: Download Linux Installer Arm artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-aarch64-run
- name: Download Linux Installer x64 artifact
uses: actions/download-artifact@v4
with:
name: lucee-installer-${{ env.LUCEE_INSTALLER_VERSION }}-linux-x64-run
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: lucee-script-runner-maven-cache
- name: Publish Installers to S3
uses: lucee/script-runner@main
with:
webroot: ${{ github.workspace }}/
execute: /publish-to-s3.cfm
luceeVersion: ${{ env.lucee_build_version }}