1+ name : Release
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - master
8+
9+ jobs :
10+ tests :
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 : true
16+ matrix :
17+ cfengine : ["lucee@5", "adobe@2016", "adobe@2018"]
18+ coldbox : ["coldbox@6"]
19+ steps :
20+ - name : Checkout Repository
21+ uses : actions/checkout@v2
22+
23+ - name : Setup Java JDK
24+ uses : actions/setup-java@v1.4.3
25+ with :
26+ java-version : 11
27+
28+ - name : Set Up CommandBox
29+ uses : elpete/setup-commandbox@v1.0.0
30+
31+ - name : Install dependencies
32+ run : |
33+ box install
34+ box install ${{ matrix.coldbox }} --noSave
35+
36+ - name : Start server
37+ run : |
38+ cd tests
39+ box server start cfengine=${{ matrix.cfengine }} --noSaveSettings
40+
41+ - name : Run TestBox Tests
42+ run : box testbox run runner=http://localhost:8011/index.cfm
43+
44+ release :
45+ name : Semantic Release
46+ if : " !contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
47+ needs : tests
48+ runs-on : ubuntu-latest
49+ env :
50+ GA_COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
51+ steps :
52+ - name : Checkout Repository
53+ uses : actions/checkout@v2
54+ with :
55+ fetch-depth : 0
56+
57+ - name : Setup Java JDK
58+ uses : actions/setup-java@v1.4.3
59+ with :
60+ java-version : 11
61+
62+ - name : Set Up CommandBox
63+ uses : elpete/setup-commandbox@v1.0.0
64+
65+ - name : Install and Configure Semantic Release
66+ run : |
67+ box install commandbox-semantic-release
68+ box config set endpoints.forgebox.APIToken=${{ secrets.FORGEBOX_TOKEN }}
69+ box config set modules.commandbox-semantic-release.targetBranch=main
70+ 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" }'
71+
72+ - name : Run Semantic Release
73+ env :
74+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
75+ run : box semantic-release
0 commit comments