-
Notifications
You must be signed in to change notification settings - Fork 0
160 lines (155 loc) · 5.42 KB
/
presidecms.yml
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: Run PresideCMS test suite
on:
workflow_dispatch:
inputs:
compile:
required: false
default: false
type: boolean
workflow_call:
jobs:
setup-presidecms:
runs-on: ubuntu-latest
steps:
- name: Checkout PresideCMS Repository
uses: actions/checkout@v4
with:
repository: pixl8/Preside-CMS
- name: Checkout
uses: actions/checkout@v4
with:
path: _custom
- name: Copy custom test runner tweaks
run: |
cp -R _custom/custom/presidecms/tests/* tests
rm -rf _custom
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Install the ortus security key
run: curl -fsSl https://downloads.ortussolutions.com/debs/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/ortussolutions.gpg > /dev/null
- name: Add the commandbox source
run: echo "deb [signed-by=/usr/share/keyrings/ortussolutions.gpg] https://downloads.ortussolutions.com/debs/noarch /" | sudo tee /etc/apt/sources.list.d/commandbox.list
- name: Update apt and install commandbox
run: sudo apt-get update && sudo apt-get install apt-transport-https commandbox
- name: Install dependencies
run: |
box install verbose=true system=false
- name: installed webroot for matrix steps
uses: actions/upload-artifact@v4
with:
name: webroot
include-hidden-files: true
path: ${{ github.workspace }}
run-preside-tests:
name: Preside CI
runs-on: ubuntu-latest
needs: [ setup-presidecms ]
strategy:
fail-fast: false
max-parallel: 1
matrix:
luceeVersion: [ 5.4/snapshot/jar, 6.0/snapshot/jar, 6.1/snapshot/jar, 6.1.0/snapshot/jar, 6.2/snapshot/jar ]
javaVersion: [ 11, 21 ]
exclude:
- luceeVersion: 5.4/snapshot/jar
javaVersion: 21
- luceeVersion: 6.0/snapshot/jar
javaVersion: 21
env:
luceeVersionQuery: ${{ matrix.luceeVersion }}
compile: ${{ github.event.inputs.compile }}
steps:
- name: Restore pre-prepared webroot
uses: actions/download-artifact@v4
with:
name: webroot
path: ${{ github.workspace }}
- name: Set up JDK ${{ matrix.javaVersion }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.javaVersion }}
distribution: 'adopt'
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: maven-cache
- name: Cache Lucee files
uses: actions/cache@v4
with:
path: /home/runner/work/_actions/lucee/script-runner/main/lucee-download-cache
key: lucee-downloads
- name: Set up MySQL (local)
run: |
sudo systemctl start mysql
mysql -e 'CREATE DATABASE preside_test' -uroot -proot
mysql -e 'CREATE USER "preside"@"localhost" IDENTIFIED WITH mysql_native_password BY "preside";' -uroot -proot
mysql -e 'GRANT ALL PRIVILEGES ON preside_test.* TO "preside"@"localhost"' -uroot -proot
- name: fix testbox
run: |
mkdir -p tests/testbox/system/stubs
ls -lRa tests
- name: Run Preside CMS Test Suite
uses: lucee/script-runner@main
with:
webroot: ${{ github.workspace }}/tests
execute: /runtests.cfm
luceeVersionQuery: ${{ env.luceeVersionQuery }}
compile: ${{ env.compile }}
env:
PRESIDETEST_DB_PORT: 3306
PRESIDETEST_DB_HOST: localhost
PRESIDETEST_DB_USER: preside
PRESIDETEST_DB_PASSWORD: preside
PRESIDETEST_DB_NAME: preside_test
LUCEE_BASE_CONFIG: ${{ github.workspace }}/tests/.cfconfig.json
- uses: actions/upload-artifact@v4
if: always()
with:
name: results-${{ strategy.job-index }}
path: ${{ github.workspace }}/tests/artifacts
report:
runs-on: ubuntu-latest
if: always()
needs: [ run-preside-tests ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: "temurin"
- name: Cache Maven packages
if: always()
uses: actions/cache@v4
with:
path: ~/.m2
key: maven-cache
- name: Cache Lucee files
uses: actions/cache@v4
if: always()
with:
path: /home/runner/work/_actions/lucee/script-runner/main/lucee-download-cache
key: lucee-downloads
- uses: actions/download-artifact@v4
with:
path: ${{ github.workspace }}/custom/spreadsheet-cfml/test/artifacts
merge-multiple: true
pattern: results-*
- name: Display structure of downloaded files
run: ls -R ${{ github.workspace }}/custom/spreadsheet-cfml/test/artifacts
- name: Generate Report
uses: lucee/script-runner@main
with:
webroot: ${{ github.workspace }}/custom/spreadsheet-cfml/test
execute: /report.cfm
luceeVersionQuery: 6/stable/light
- uses: actions/upload-artifact@v4
if: always()
with:
name: all-results
path: ${{ github.workspace }}/custom/spreadsheet-cfml/test/artifacts