Build Lucee Installer #421
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
| 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 }} |