-
Notifications
You must be signed in to change notification settings - Fork 11
91 lines (79 loc) · 3.46 KB
/
release.yml
File metadata and controls
91 lines (79 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: Release
on:
push:
branches:
- main
- master
jobs:
tests:
name: Tests
if: "!contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cfengine: ["lucee@5", "lucee@6", "adobe@2021", "adobe@2023", "boxlang-cfml@1"]
coldbox: ["^7.0.0", "^8.0.0"]
experimental: [ false ]
include:
- cfengine: "adobe@2025"
coldbox: "^7.0.0"
experimental: false
- cfengine: "adobe@2025"
coldbox: "^8.0.0"
experimental: false
- cfengine: "boxlang@1"
coldbox: "^8.0.0"
experimental: false
steps:
- name: Checkout Repository
uses: actions/checkout@v3.2.0
- name: Setup Java JDK
uses: actions/setup-java@v3.9.0
with:
distribution: 'zulu'
java-version: 21
- name: Setup CommandBox CLI
uses: Ortus-Solutions/setup-commandbox@v2.0.1
with:
install: commandbox-boxlang,commandbox-cfconfig
- name: Install dependencies
run: |
box install
box install coldbox@${{ matrix.coldbox }} --noSave
- name: Start server
run: |
box server start serverConfigFile="server-${{ matrix.cfengine }}.json" --noSaveSettings --debug
curl http://127.0.0.1:8500
- name: Run TestBox Tests
continue-on-error: ${{ matrix.experimental }}
run: box testbox run
release:
name: Semantic Release
if: "!contains(github.event.head_commit.message, '__SEMANTIC RELEASE VERSION UPDATE__')"
needs: tests
runs-on: ubuntu-latest
env:
GA_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3.2.0
with:
fetch-depth: 0
- name: Setup Java JDK
uses: actions/setup-java@v3.9.0
with:
distribution: 'zulu'
java-version: 21
- name: Setup CommandBox CLI
uses: Ortus-Solutions/setup-commandbox@v2.0.1
- name: Install and Configure Semantic Release
run: |
box install commandbox-semantic-release@^3.0.0
box config set endpoints.forgebox.APIToken=${{ secrets.FORGEBOX_TOKEN }}
box config set modules.commandbox-semantic-release.targetBranch=main
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" }'
- name: Run Semantic Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: box semantic-release