Skip to content

Commit b8260c7

Browse files
committed
boxlang cert
1 parent 37bbcdd commit b8260c7

File tree

15 files changed

+151
-83
lines changed

15 files changed

+151
-83
lines changed

.github/workflows/cron.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: Daily Tests
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # Runs at 00:00 UTC every day
6+
7+
jobs:
8+
tests:
9+
uses: ./.github/workflows/tests.yml
10+
secrets: inherit

.github/workflows/pr.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,17 @@ on:
66
- "main"
77
- "master"
88
- "development"
9-
- "releases/v*"
109
pull_request:
1110
branches:
12-
- "releases/v*"
1311
- development
1412

1513
jobs:
1614
tests:
1715
uses: ./.github/workflows/tests.yml
1816
secrets: inherit
1917

20-
formatCheck:
18+
# Format PR
19+
format_check:
2120
name: Checks Source Code Formatting
2221
runs-on: ubuntu-24.04
2322
steps:

.github/workflows/release.yml

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,13 @@ on:
1616
default: false
1717
type: boolean
1818

19+
# Manual Trigger
20+
workflow_dispatch:
1921
env:
20-
MODULE_ID: cbmailservices
22+
MODULE_ID: ${{ github.event.repository.name }}
23+
JDK: 21
2124
SNAPSHOT: ${{ inputs.snapshot || false }}
25+
BUILD_ID: ${{ github.run_number }}
2226

2327
jobs:
2428
##########################################################################################
@@ -27,6 +31,11 @@ jobs:
2731
build:
2832
name: Build & Publish
2933
runs-on: ubuntu-24.04
34+
permissions:
35+
checks: write
36+
pull-requests: write
37+
contents: write
38+
issues: write
3039
steps:
3140
- name: Checkout Repository
3241
uses: actions/checkout@v4
@@ -36,6 +45,12 @@ jobs:
3645
with:
3746
forgeboxAPIKey: ${{ secrets.FORGEBOX_TOKEN }}
3847

48+
- name: Setup Java
49+
uses: actions/setup-java@v4
50+
with:
51+
distribution: "temurin"
52+
java-version: ${{ env.JDK }}
53+
3954
- name: "Setup Environment Variables For Build Process"
4055
id: current_version
4156
run: |
@@ -61,10 +76,10 @@ jobs:
6176
npm install -g markdownlint-cli
6277
markdownlint changelog.md --fix
6378
box install commandbox-docbox
64-
box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ github.run_number }} :branch=${{ env.BRANCH }}
79+
box task run taskfile=build/Build target=run :version=${{ env.VERSION }} :projectName=${{ env.MODULE_ID }} :buildID=${{ env.BUILD_ID }} :branch=${{ env.BRANCH }}
6580
66-
- name: Commit Changelog To Master
67-
uses: EndBug/[email protected].1
81+
- name: Commit Changelog [unreleased] with latest version
82+
uses: EndBug/[email protected].4
6883
if: env.SNAPSHOT == 'false'
6984
with:
7085
author_name: Github Actions
@@ -73,7 +88,7 @@ jobs:
7388
add: changelog.md
7489

7590
- name: Tag Version
76-
uses: rickstaa/action-create-tag@v1.6.1
91+
uses: rickstaa/action-create-tag@v1.7.2
7792
if: env.SNAPSHOT == 'false'
7893
with:
7994
tag: "v${{ env.VERSION }}"
@@ -127,6 +142,18 @@ jobs:
127142
token: ${{ secrets.GITHUB_TOKEN }}
128143
ref: refs/tags/v${{ env.VERSION }}
129144

145+
- name: Inform Slack
146+
if: ${{ always() }}
147+
uses: rtCamp/action-slack-notify@v2
148+
env:
149+
SLACK_CHANNEL: coding
150+
SLACK_COLOR: ${{ job.status }} # or a specific color like 'green' or '#ff00ff'
151+
SLACK_ICON_EMOJI: ":bell:"
152+
SLACK_MESSAGE: "Module ${{ env.MODULE_ID }} v${{ env.VERSION }} Built with ${{ job.status }}!"
153+
SLACK_TITLE: "ColdBox Module ${{ env.MODULE_ID }}"
154+
SLACK_USERNAME: CI
155+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
156+
130157
##########################################################################################
131158
# Prep Next Release
132159
##########################################################################################
@@ -135,6 +162,11 @@ jobs:
135162
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
136163
runs-on: ubuntu-24.04
137164
needs: [ build ]
165+
permissions:
166+
checks: write
167+
pull-requests: write
168+
contents: write
169+
issues: write
138170
steps:
139171
# Checkout development
140172
- name: Checkout Repository
@@ -165,7 +197,7 @@ jobs:
165197
166198
# Commit it back to development
167199
- name: Commit Version Bump
168-
uses: EndBug/[email protected].1
200+
uses: EndBug/[email protected].4
169201
with:
170202
author_name: Github Actions
171203
author_email: [email protected]

.github/workflows/snapshot.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@ on:
44
push:
55
branches:
66
- 'development'
7+
78
workflow_dispatch:
89

10+
# Unique group name per workflow-branch/tag combo
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
13+
cancel-in-progress: true
14+
915
jobs:
1016
##########################################################################################
1117
# Module Tests
@@ -20,6 +26,9 @@ jobs:
2026
format:
2127
name: Code Auto-Formatting
2228
runs-on: ubuntu-24.04
29+
permissions:
30+
contents: write
31+
checks: write
2332
steps:
2433
- uses: actions/checkout@v4
2534

@@ -29,7 +38,7 @@ jobs:
2938
cmd: run-script format
3039

3140
- name: Commit Format Changes
32-
uses: stefanzweifel/git-auto-commit-action@v4
41+
uses: stefanzweifel/git-auto-commit-action@v5
3342
with:
3443
commit_message: Apply cfformat changes
3544

@@ -40,5 +49,10 @@ jobs:
4049
uses: ./.github/workflows/release.yml
4150
needs: [ tests, format ]
4251
secrets: inherit
52+
permissions:
53+
checks: write
54+
pull-requests: write
55+
contents: write
56+
issues: write
4357
with:
4458
snapshot: true

.github/workflows/tests.yml

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,43 +18,42 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
cfengine: [ "lucee@5", "adobe@2018", "adobe@2021" ]
22-
coldboxVersion: [ "^6.0.0" ]
21+
cfengine: [ "boxlang-cfml@1", "lucee@5", "lucee@6", "adobe@2021", "adobe@2023" ]
22+
coldboxVersion: [ "^7.0.0" ]
2323
experimental: [ false ]
24+
# Experimental: ColdBox BE vs All Engines
2425
include:
25-
- cfengine: "adobe@2023"
26-
coldboxVersion: "^6.0.0"
27-
experimental: true
2826
- coldboxVersion: "be"
2927
cfengine: "lucee@5"
3028
experimental: true
3129
- coldboxVersion: "be"
32-
cfengine: "adobe@2018"
30+
cfengine: "lucee@6"
3331
experimental: true
3432
- coldboxVersion: "be"
3533
cfengine: "adobe@2021"
3634
experimental: true
3735
- coldboxVersion: "be"
38-
cfengine: "boxlang@1"
36+
cfengine: "adobe@2023"
37+
experimental: true
38+
- coldboxVersion: "be"
39+
cfengine: "boxlang-cfml@1"
3940
experimental: true
4041
steps:
4142
- name: Checkout Repository
4243
uses: actions/checkout@v4
4344

45+
# DATABASE SETUP: uncomment if you need to setup a database
46+
# - name: Setup Database and Fixtures
47+
# run: |
48+
# sudo systemctl start mysql.service
49+
# mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} -e 'CREATE DATABASE mementifier;'
50+
# mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < test-harness/tests/resources/coolblog.sql
4451

4552
- name: Setup Java
4653
uses: actions/setup-java@v4
4754
with:
4855
distribution: "temurin"
49-
java-version: "11"
50-
51-
# - name: Setup Database and Fixtures
52-
# run: |
53-
# sudo systemctl start mysql.service
54-
# # Create Database
55-
# #mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} -e 'CREATE DATABASE cbsecurity;'
56-
# # Import Database
57-
# mysql -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }} < test-harness/tests/resources/cbsecurity.sql
56+
java-version: "21"
5857

5958
- name: Setup Environment For Testing Process
6059
run: |
@@ -72,11 +71,6 @@ jobs:
7271
- name: Setup CommandBox CLI
7372
uses: Ortus-Solutions/[email protected]
7473

75-
- name: Update Commandbox Boxlang Module
76-
if: ${{ matrix.cfengine == 'boxlang@1' }}
77-
run:
78-
box install --force commandbox-boxlang
79-
8074
- name: Install Dependencies
8175
run: |
8276
box install

.markdownlint.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
"no-duplicate-header" : {
1212
"siblings_only" : true
1313
},
14+
"no-duplicate-heading" : false,
1415
"no-inline-html" : false
1516
}

box.json

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@
2424
"Curt Gratz <[email protected]>"
2525
],
2626
"devDependencies":{
27+
"commandbox-boxlang":"*",
2728
"commandbox-cfformat":"*",
28-
"commandbox-docbox":"*",
29-
"commandbox-dotenv":"*",
30-
"commandbox-cfconfig":"*"
29+
"commandbox-docbox":"*"
3130
},
3231
"ignore":[
3332
"**/.*",
@@ -44,13 +43,10 @@
4443
"format:check":"cfformat check handlers/,interceptors/,models/,test-harness/tests/specs,ModuleConfig.cfc ./.cfformat.json",
4544
"start:fakemail":"!docker compose -f test-harness/tests/resources/docker-compose.yml up --detach",
4645
"start:lucee":"server start [email protected]",
47-
"start:2018":"server start [email protected]",
4846
"start:2021":"server start [email protected]",
4947
"stop:lucee":"server stop [email protected]",
50-
"stop:2018":"server stop [email protected]",
5148
"stop:2021":"server stop [email protected]",
5249
"logs:lucee":"server log [email protected] --follow",
53-
"logs:2018":"server log [email protected] --follow",
5450
"logs:2021":"server log [email protected] --follow"
5551
},
5652
"testbox":{

build/Build.cfc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ component {
1212
variables.cwd = getCWD().reReplace( "\.$", "" );
1313
variables.artifactsDir = cwd & "/.artifacts";
1414
variables.buildDir = cwd & "/.tmp";
15+
variables.apidDocsDir = variables.buildDir & "/apidocs";
1516
variables.apiDocsURL = "http://localhost:60299/apidocs/";
1617
variables.testRunner = "http://localhost:60299/tests/runner.cfm";
1718

@@ -31,7 +32,8 @@ component {
3132
// Cleanup + Init Build Directories
3233
[
3334
variables.buildDir,
34-
variables.artifactsDir
35+
variables.artifactsDir,
36+
variables.apidDocsDir
3537
].each( function( item ){
3638
if ( directoryExists( item ) ) {
3739
directoryDelete( item, true );

changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
### Added
13+
14+
- BoxLang certification
15+
- Github Actions updates
16+
1217
## [2.8.0] - 2023-09-13
1318

1419
### Added

readme.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
<p align="center">
2+
<img src="https://www.ortussolutions.com/__media/coldbox-185-logo.png">
3+
<br>
4+
<img src="https://www.ortussolutions.com/__media/wirebox-185.png" height="125">
5+
<img src="https://www.ortussolutions.com/__media/cachebox-185.png" height="125" >
6+
<img src="https://www.ortussolutions.com/__media/logbox-185.png" height="125">
7+
</p>
8+
9+
<p align="center">
10+
Copyright Since 2005 ColdBox Platform by Luis Majano and Ortus Solutions, Corp
11+
<br>
12+
<a href="https://www.coldbox.org">www.coldbox.org</a> |
13+
<a href="https://www.ortussolutions.com">www.ortussolutions.com</a>
14+
</p>
15+
16+
----
17+
118
# Welcome to the ColdBox Mail Services => (`cbmailservices`)
219

320
Sending email doesn't have to be complicated or archaic or sad 😭. The ColdBox Mail Services (`cbmailservices`) module will allow you to send email in a fluent and abstracted way in multiple protocols for many environments in a single cohesive API, which will bring you smiles 😍, rainbows 🌈 and unicorns 🦄!. The supported protocols are:
@@ -54,8 +71,9 @@ Apache License, Version 2.0.
5471

5572
## SYSTEM REQUIREMENTS
5673

74+
* BoxLang 1+
5775
* Lucee 5+
58-
* ColdFusion 2018+
76+
* ColdFusion 2021+
5977

6078

6179
********************************************************************************

0 commit comments

Comments
 (0)