Skip to content

Commit

Permalink
lots of githubactions updates and boxlang testing
Browse files Browse the repository at this point in the history
  • Loading branch information
lmajano committed Feb 19, 2025
1 parent babf09b commit ec79453
Show file tree
Hide file tree
Showing 8 changed files with 74 additions and 56 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,17 @@ on:
- "main"
- "master"
- "development"
- "releases/v*"
pull_request:
branches:
- "releases/v*"
- development

jobs:
tests:
uses: ./.github/workflows/tests.yml
secrets: inherit

formatCheck:
# Format PR
format_check:
name: Checks Source Code Formatting
runs-on: ubuntu-24.04
steps:
Expand Down
40 changes: 36 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@ on:
default: false
type: boolean

# Manual Trigger
workflow_dispatch:
env:
MODULE_ID: cborm
MODULE_ID: ${{ github.event.repository.name }}
JDK: 21
SNAPSHOT: ${{ inputs.snapshot || false }}
BUILD_ID: ${{ github.run_number }}

jobs:
##########################################################################################
Expand All @@ -27,6 +31,11 @@ jobs:
build:
name: Build & Publish
runs-on: ubuntu-24.04
permissions:
checks: write
pull-requests: write
contents: write
issues: write
steps:
- name: Checkout Repository
uses: actions/checkout@v4
Expand All @@ -36,6 +45,12 @@ jobs:
with:
forgeboxAPIKey: ${{ secrets.FORGEBOX_TOKEN }}

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: ${{ env.JDK }}

- name: "Setup Environment Variables For Build Process"
id: current_version
run: |
Expand All @@ -50,7 +65,7 @@ jobs:
fi
- name: Update changelog [unreleased] with latest version
uses: thomaseizinger/keep-a-changelog-new-release@3.0.0
uses: thomaseizinger/keep-a-changelog-new-release@3.1.0
if: env.SNAPSHOT == 'false'
with:
changelogPath: ./changelog.md
Expand All @@ -61,9 +76,9 @@ jobs:
npm install -g markdownlint-cli
markdownlint changelog.md --fix
box install commandbox-docbox
box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ github.run_number }} :branch=${{ env.BRANCH }}
box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ env.BUILD_ID }} :branch=${{ env.BRANCH }}
- name: Commit Changelog To Master
- name: Commit Changelog [unreleased] with latest version
uses: EndBug/[email protected]
if: env.SNAPSHOT == 'false'
with:
Expand Down Expand Up @@ -127,6 +142,18 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
ref: refs/tags/v${{ env.VERSION }}

- name: Inform Slack
if: ${{ always() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: coding
SLACK_COLOR: ${{ job.status }} # or a specific color like 'green' or '#ff00ff'
SLACK_ICON_EMOJI: ":bell:"
SLACK_MESSAGE: "Module ${{ env.MODULE_ID }} v${{ env.VERSION }} Built with ${{ job.status }}!"
SLACK_TITLE: "ColdBox Module ${{ env.MODULE_ID }}"
SLACK_USERNAME: CI
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

##########################################################################################
# Prep Next Release
##########################################################################################
Expand All @@ -135,6 +162,11 @@ jobs:
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
runs-on: ubuntu-24.04
needs: [ build ]
permissions:
checks: write
pull-requests: write
contents: write
issues: write
steps:
# Checkout development
- name: Checkout Repository
Expand Down
16 changes: 15 additions & 1 deletion .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@ on:
push:
branches:
- 'development'

workflow_dispatch:

# Unique group name per workflow-branch/tag combo
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
##########################################################################################
# Module Tests
Expand All @@ -20,6 +26,9 @@ jobs:
format:
name: Code Auto-Formatting
runs-on: ubuntu-24.04
permissions:
contents: write
checks: write
steps:
- uses: actions/checkout@v4

Expand All @@ -29,7 +38,7 @@ jobs:
cmd: run-script format

- name: Commit Format Changes
uses: stefanzweifel/git-auto-commit-action@v4
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Apply cfformat changes

Expand All @@ -40,5 +49,10 @@ jobs:
uses: ./.github/workflows/release.yml
needs: [ tests, format ]
secrets: inherit
permissions:
checks: write
pull-requests: write
contents: write
issues: write
with:
snapshot: true
28 changes: 12 additions & 16 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ jobs:
strategy:
fail-fast: false
matrix:
cfengine: [ "lucee@5", "adobe@2018", "adobe@2021", "adobe@2023" ]
coldboxVersion: [ "^6.0.0", "^7.0.0" ]
cfengine: [ "lucee@5", "lucee@6", "adobe@2021", "adobe@2023" ]
coldboxVersion: [ "^7.0.0" ]
experimental: [ false ]
# Experimental: ColdBox BE vs All Engines
include:
- coldboxVersion: "be"
cfengine: "lucee@5"
Expand All @@ -29,13 +30,13 @@ jobs:
cfengine: "lucee@6"
experimental: true
- coldboxVersion: "be"
cfengine: "adobe@2023"
cfengine: "adobe@2021"
experimental: true
- coldboxVersion: "be"
cfengine: "adobe@2021"
cfengine: "adobe@2023"
experimental: true
- coldboxVersion: "be"
cfengine: "boxlang@1"
cfengine: "boxlang-cfml@1"
experimental: true
steps:
- name: Checkout Repository
Expand All @@ -45,15 +46,15 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"
java-version: "21"

- name: Setup Database and Fixtures
run: |
sudo systemctl start mysql.service
# Create Database
mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} -e 'CREATE DATABASE coolblog;'
# Import Database
mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < test-harness/tests/resources/coolblog.sql
sudo systemctl start mysql.service
# Create Database
mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} -e 'CREATE DATABASE coolblog;'
# Import Database
mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < test-harness/tests/resources/coolblog.sql
- name: Setup Environment For Testing Process
run: |
Expand All @@ -71,11 +72,6 @@ jobs:
- name: Setup CommandBox CLI
uses: Ortus-Solutions/[email protected]

- name: Update Commandbox Boxlang Module
if: ${{ matrix.cfengine == 'boxlang@1' }}
run:
box install --force commandbox-boxlang

- name: Install Dependencies
run: |
box install
Expand Down
7 changes: 4 additions & 3 deletions box.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"cbpaginator":"^2.0.0"
},
"devDependencies":{
"commandbox-boxlang":"*",
"commandbox-cfformat":"*",
"commandbox-docbox":"*",
"commandbox-dotenv":"*",
Expand All @@ -54,16 +55,16 @@
"format:check":"cfformat check aop,dsl,interceptors,models,test-harness/tests/,ModuleConfig.cfc ./.cfformat.json",
"install:dependencies":"install && cd test-harness && install",
"startdbs":"!docker-compose -f docker-compose.yml up",
"start:boxlang":"server start [email protected]",
"start:lucee":"server start [email protected]",
"start:2018":"server start [email protected]",
"start:2021":"server start [email protected]",
"start:2023":"server start [email protected]",
"stop:boxlang":"server stop [email protected]",
"stop:lucee":"server stop [email protected]",
"stop:2018":"server stop [email protected]",
"stop:2021":"server stop [email protected]",
"stop:2023":"server stop [email protected]",
"logs:boxlang":"server log [email protected] --follow",
"logs:lucee":"server log [email protected] --follow",
"logs:2018":"server log [email protected] --follow",
"logs:2021":"server log [email protected] --follow",
"logs:2023":"server log [email protected] --follow"
},
Expand Down
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

- [CBORM-37](https://ortussolutions.atlassian.net/browse/CBORM-37) - Fixed issue on `PostLoad` event handler for multi-datasource entities
- Removal of old deprecated engines

### Added

- BoxLang auto-testing
- Added several flow helpers to `ActiveEntity`:
- `peek( closure )` to allow for peeking into the building process. Pass in your closure that receives the entity and interact with it.
- `when( boolean, successClosure, failureClosure )` that you can use to build functional entities without the use of if statements.
Expand Down
26 changes: 0 additions & 26 deletions [email protected]

This file was deleted.

6 changes: 3 additions & 3 deletions [email protected][email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
},
"JVM":{
"heapSize":"1024",
"javaVersion":"openjdk21_jdk",
"args":"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 -Dboxlang.debugMode=true"
"javaVersion":"openjdk21_jre",
"args":"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888 -Dboxlang.debugMode=true"
},
"cfconfig":{
"file":".cfconfig.json"
Expand All @@ -31,6 +31,6 @@
"BOXLANG_DEBUG":true
},
"scripts":{
"onServerInitialInstall":"install bx-mail,bx-mysql,bx-derby,bx-compat-cfml@be,bx-unsafe-evaluate,bx-esapi --noSave"
"onServerInitialInstall":"install bx-mysql,bx-derby,bx-compat-cfml,bx-orm --noSave"
}
}

0 comments on commit ec79453

Please sign in to comment.