88
99jobs :
1010 tests :
11- uses : ./.github/workflows/tests.yml
11+ name : Tests
12+ if : " !contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
13+ runs-on : ubuntu-latest
14+ strategy :
15+ fail-fast : false
16+ matrix :
17+ cfengine : ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "adobe@2025", "boxlang@1", "boxlang-cfml@1"]
18+ experimental : [ false ]
19+ coldbox : ["coldbox@6", "coldbox@7", "coldbox@be"]
20+ steps :
21+ - name : Checkout Repository
22+ 23+
24+ - name : Setup Java JDK
25+ 26+ with :
27+ distribution : ' zulu'
28+ java-version : 21
29+
30+ - name : Setup CommandBox CLI
31+ uses :
Ortus-Solutions/[email protected] 32+ with :
33+ install : commandbox-boxlang
34+
35+ - name : Install dependencies
36+ run : |
37+ box install
38+ box install ${{ matrix.coldbox }} --noSave
39+
40+ - name : Start server
41+ run : |
42+ box server start serverConfigFile="server-${{ matrix.cfengine }}.json" --noSaveSettings --debug
43+ curl http://127.0.0.1:60299
44+
45+ - name : Run TestBox Tests
46+ continue-on-error : ${{ matrix.experimental }}
47+ run : box testbox run
1248
1349 release :
1450 name : Semantic Release
@@ -19,26 +55,47 @@ jobs:
1955 GA_COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
2056 steps :
2157 - name : Checkout Repository
22- uses : actions/checkout@v2
58+ uses : actions/checkout@v3.2.0
2359 with :
2460 fetch-depth : 0
2561
2662 - name : Setup Java JDK
27- uses : actions/setup-java@v1.4.3
63+ uses : actions/setup-java@v3.9.0
2864 with :
29- java-version : 11
65+ distribution : ' zulu'
66+ java-version : 21
3067
31- - name : Set Up CommandBox
32- uses : elpete /setup-commandbox@v1 .0.0
68+ - name : Setup CommandBox CLI
69+ uses : Ortus-Solutions /setup-commandbox@v2 .0.1
3370
3471 - name : Install and Configure Semantic Release
3572 run : |
3673 box install commandbox-semantic-release@^3.0.0
3774 box config set endpoints.forgebox.APIToken=${{ secrets.FORGEBOX_TOKEN }}
3875 box config set modules.commandbox-semantic-release.targetBranch=main
39- box config set modules.commandbox-semantic-release.plugins='{ "VerifyConditions": "GitHubActionsConditionsVerifier@commandbox-semantic-release", "FetchLastRelease": "ForgeBoxReleaseFetcher@commandbox-semantic-release", "RetrieveCommits": "JGitCommitsRetriever@commandbox-semantic-release", "ParseCommit": "ConventionalChangelogParser@commandbox-semantic-release", "FilterCommits": "DefaultCommitFilterer@commandbox-semantic-release", "AnalyzeCommits": "DefaultCommitAnalyzer@commandbox-semantic-release", "VerifyRelease": "NullReleaseVerifier@commandbox-semantic-release", "GenerateNotes": "GitHubMarkdownNotesGenerator@commandbox-semantic-release", "UpdateChangelog": "FileAppendChangelogUpdater@commandbox-semantic-release", "CommitArtifacts": "NullArtifactsCommitter @commandbox-semantic-release", "PublishRelease": "ForgeBoxReleasePublisher@commandbox-semantic-release", "PublicizeRelease": "GitHubReleasePublicizer@commandbox-semantic-release" }'
76+ box config set modules.commandbox-semantic-release.plugins='{ "VerifyConditions": "GitHubActionsConditionsVerifier@commandbox-semantic-release", "FetchLastRelease": "ForgeBoxReleaseFetcher@commandbox-semantic-release", "RetrieveCommits": "JGitCommitsRetriever@commandbox-semantic-release", "ParseCommit": "ConventionalChangelogParser@commandbox-semantic-release", "FilterCommits": "DefaultCommitFilterer@commandbox-semantic-release", "AnalyzeCommits": "DefaultCommitAnalyzer@commandbox-semantic-release", "VerifyRelease": "NullReleaseVerifier@commandbox-semantic-release", "GenerateNotes": "GitHubMarkdownNotesGenerator@commandbox-semantic-release", "UpdateChangelog": "FileAppendChangelogUpdater@commandbox-semantic-release", "CommitArtifacts": "GitHubArtifactsCommitter @commandbox-semantic-release", "PublishRelease": "ForgeBoxReleasePublisher@commandbox-semantic-release", "PublicizeRelease": "GitHubReleasePublicizer@commandbox-semantic-release" }'
4077
4178 - name : Run Semantic Release
4279 env :
4380 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4481 run : box semantic-release
82+
83+ - name : Generate API Docs
84+ run : |
85+ box install commandbox-docbox
86+ box run-script generateAPIDocs
87+
88+ - name : Get Current Version
89+ id : current_version
90+ run : echo "version=`cat box.json | jq '.version' -r`" >> $GITHUB_OUTPUT
91+
92+ - name : Upload API Docs to S3
93+ uses : jakejarvis/s3-sync-action@master
94+ with :
95+ args : --acl public-read
96+ env :
97+ AWS_S3_BUCKET : " apidocs.ortussolutions.com"
98+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY }}
99+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_ACCESS_SECRET }}
100+ SOURCE_DIR : " .tmp/apidocs"
101+ DEST_DIR : " ${{ github.repository }}/${{ steps.current_version.outputs.version }}"
0 commit comments