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+ steps :
20+ - name : Checkout Repository
21+ 22+
23+ - name : Setup Java JDK
24+ 25+ with :
26+ distribution : ' zulu'
27+ java-version : 21
28+
29+ - name : Setup CommandBox CLI
30+ uses :
Ortus-Solutions/[email protected] 31+ with :
32+ install : commandbox-boxlang,commandbox-cfconfig
33+
34+ - name : Install dependencies
35+ run : |
36+ box install
37+
38+ - name : Start server
39+ run : |
40+ box server start serverConfigFile="server-${{ matrix.cfengine }}.json" --noSaveSettings --debug
41+ curl http://127.0.0.1:8500
42+
43+ - name : Run TestBox Tests
44+ continue-on-error : ${{ matrix.experimental }}
45+ run : box testbox run
1246
1347 release :
1448 name : Semantic Release
@@ -19,26 +53,47 @@ jobs:
1953 GA_COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
2054 steps :
2155 - name : Checkout Repository
22- uses : actions/checkout@v2
56+ uses : actions/checkout@v3.2.0
2357 with :
2458 fetch-depth : 0
2559
2660 - name : Setup Java JDK
27- uses : actions/setup-java@v1.4.3
61+ uses : actions/setup-java@v3.9.0
2862 with :
29- java-version : 11
63+ distribution : ' zulu'
64+ java-version : 21
3065
31- - name : Set Up CommandBox
32- uses : elpete /setup-commandbox@v1 .0.0
66+ - name : Setup CommandBox CLI
67+ uses : Ortus-Solutions /setup-commandbox@v2 .0.1
3368
3469 - name : Install and Configure Semantic Release
3570 run : |
3671 box install commandbox-semantic-release@^3.0.0
3772 box config set endpoints.forgebox.APIToken=${{ secrets.FORGEBOX_TOKEN }}
3873 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" }'
74+ 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" }'
4075
4176 - name : Run Semantic Release
4277 env :
4378 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4479 run : box semantic-release
80+
81+ - name : Generate API Docs
82+ run : |
83+ box install commandbox-docbox
84+ box run-script generateAPIDocs
85+
86+ - name : Get Current Version
87+ id : current_version
88+ run : echo "version=`cat box.json | jq '.version' -r`" >> $GITHUB_OUTPUT
89+
90+ - name : Upload API Docs to S3
91+ uses : jakejarvis/s3-sync-action@master
92+ with :
93+ args : --acl public-read
94+ env :
95+ AWS_S3_BUCKET : " apidocs.ortussolutions.com"
96+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY }}
97+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_ACCESS_SECRET }}
98+ SOURCE_DIR : " .tmp/apidocs"
99+ DEST_DIR : " ${{ github.repository }}/${{ steps.current_version.outputs.version }}"
0 commit comments