diff --git a/.cfconfig.json b/.cfconfig.json new file mode 100644 index 0000000..5d9c900 --- /dev/null +++ b/.cfconfig.json @@ -0,0 +1,11 @@ +{ + "adminPassword" : "coldbox", + "debuggingEnabled":true, + "debuggingReportExecutionTimes":false, + "disableInternalCFJavaComponents":false, + "inspectTemplate":"always", + "requestTimeout":"0,0,0,90", + "robustExceptionEnabled":true, + "datasources": { + } +} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index aa92ab9..577b454 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,10 +14,17 @@ jobs: env: DB_USER: root DB_PASSWORD: root + continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: cfengine: [ "lucee@5", "adobe@2018", "adobe@2021" ] + coldboxVersion: [ "^6.0.0", "^7.0.0" ] + experimental: [ false ] + include: + - cfengine: "boxlang@1" + coldboxVersion: "be" + experimental: true steps: - name: Checkout Repository uses: actions/checkout@v2 @@ -30,7 +37,7 @@ jobs: # mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < tests/resources/coolblog.sql - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: "adopt" java-version: "11" @@ -55,7 +62,7 @@ jobs: # printf "DB_BUNDLENAME=com.mysql.cj\n" >> .env - name: Cache CommandBox Dependencies - uses: actions/cache@v1 + uses: actions/cache@v4 if: ${{ true }} with: path: ~/.CommandBox/artifacts @@ -64,10 +71,11 @@ jobs: ${{ runner.OS }}-commandbox-cache-${{ hashFiles( 'box.json' ) }}-${{ hashFiles( 'box.json' ) }} - name: Install Test Harness Dependencies run: | + box package set dependencies.coldbox=${{ matrix.coldboxVersion }} box install - name: Start ${{ matrix.cfengine }} Server run: | - box server start cfengine=${{ matrix.cfengine }} --noSaveSettings --debug + box server start cfengine=server-${{ matrix.cfengine }}.json --noSaveSettings --debug # Install Adobe 2021 cfpm modules if [[ "${{ matrix.cfengine }}" == "adobe@2021" ]] ; then box run-script install:2021 @@ -78,17 +86,17 @@ jobs: mkdir -p tests/results box testbox run --verbose outputFile=tests/results/test-results outputFormats=json,antjunit - name: Publish Test Results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: - files: tests/results/**/*.xml - check_name: "${{ matrix.cfengine }} Test Results" + junit_files: tests/results/**/*.xml + check_name: "${{ matrix.cfengine }} ColdBox ${{ matrix.coldboxVersion }} Test Results" - name: Upload Test Results to Artifacts if: always() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: - name: test-results-${{ matrix.cfengine }} + name: test-results-${{ matrix.cfengine }}-${{ matrix.coldboxVersion }} path: | tests/results/**/* - name: Show Server Log On Failures @@ -97,9 +105,9 @@ jobs: box server log serverConfigFile="server-${{ matrix.cfengine }}.json" - name: Upload Debug Logs To Artifacts if: ${{ failure() }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: - name: Failure Debugging Info - ${{ matrix.cfengine }} + name: Failure Debugging Info - ${{ matrix.cfengine }} - ${{ matrix.coldboxVersion }} path: | .engine/**/logs/* .engine/**/WEB-INF/cfusion/logs/* @@ -112,6 +120,6 @@ jobs: SLACK_COLOR: ${{ job.status }} # or a specific color like 'green' or '#ff00ff' SLACK_ICON_EMOJI: ":bell:" SLACK_MESSAGE: '${{ github.repository }} tests failed :cry:' - SLACK_TITLE: ${{ github.repository }} Tests For ${{ matrix.cfengine }} failed + SLACK_TITLE: ${{ github.repository }} Tests For ${{ matrix.cfengine }} with ColdBox ${{ matrix.coldboxVersion }} failed SLACK_USERNAME: CI SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} \ No newline at end of file diff --git a/README.md b/README.md index 6afbe9d..cce55f8 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,9 @@ component mixins="/cbyaml/helpers" { } ``` + +## System requirements + +* [Boxlang](https://www.boxlang.io) +* Adobe 2018+ +* Lucee 5 diff --git a/server-adobe@2018.json b/server-adobe@2018.json new file mode 100644 index 0000000..06ed4a2 --- /dev/null +++ b/server-adobe@2018.json @@ -0,0 +1,26 @@ +{ + "name":"cbyaml-adobe@2018", + "app":{ + "serverHomeDirectory":".engine/adobe2018", + "cfengine":"adobe@2018" + }, + "web":{ + "http":{ + "port":"60299" + }, + "rewrites":{ + "enable":"true" + }, + "webroot":"./", + "aliases":{ + "/moduleroot/cbyaml":"./" + } + }, + "jvm":{ + "heapSize":"1024" + }, + "openBrowser":"false", + "cfconfig":{ + "file":".cfconfig.json" + } +} diff --git a/server-adobe@2021.json b/server-adobe@2021.json new file mode 100644 index 0000000..a131e79 --- /dev/null +++ b/server-adobe@2021.json @@ -0,0 +1,26 @@ +{ + "name":"cbyaml-adobe@2021", + "app":{ + "serverHomeDirectory":".engine/adobe2021", + "cfengine":"adobe@2021" + }, + "web":{ + "http":{ + "port":"60299" + }, + "rewrites":{ + "enable":"true" + }, + "webroot":"./", + "aliases":{ + "/moduleroot/cbyaml":"./" + } + }, + "jvm":{ + "heapSize":"1024" + }, + "openBrowser":"false", + "cfconfig":{ + "file":".cfconfig.json" + } +} diff --git a/server-boxlang@1.json b/server-boxlang@1.json new file mode 100644 index 0000000..f6236a9 --- /dev/null +++ b/server-boxlang@1.json @@ -0,0 +1,36 @@ +{ + "app":{ + "cfengine":"boxlang@be", + "serverHomeDirectory":".engine/boxlang" + }, + "name":"cbyaml-boxlang@1", + "force":true, + "openBrowser":false, + "web":{ + "directoryBrowsing":true, + "http":{ + "port":"60299" + }, + "rewrites":{ + "enable":"true" + }, + "webroot":"./", + "aliases":{ + "/moduleroot/cbyaml":"./" + } + }, + "JVM":{ + "heapSize":"1024", + "javaVersion":"openjdk21_jdk", + "args":"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999" + }, + "cfconfig":{ + "file":".cfconfig.json" + }, + "env":{ + "BOXLANG_DEBUG":true + }, + "scripts":{ + "onServerInitialInstall":"install bx-mail,bx-mysql,bx-derby,bx-compat-cfml@be,bx-unsafe-evaluate,bx-esapi --noSave" + } +} diff --git a/server-lucee@5.json b/server-lucee@5.json new file mode 100644 index 0000000..ff89ce2 --- /dev/null +++ b/server-lucee@5.json @@ -0,0 +1,26 @@ +{ + "name":"cbyaml-lucee@5", + "app":{ + "serverHomeDirectory":".engine/lucee5", + "cfengine":"lucee@5" + }, + "web":{ + "http":{ + "port":"60299" + }, + "rewrites":{ + "enable":"true" + }, + "webroot":"./", + "aliases":{ + "/moduleroot/cbyaml":"./" + } + }, + "jvm":{ + "heapSize":"1024" + }, + "openBrowser":"false", + "cfconfig":{ + "file":".cfconfig.json" + } +}