12
12
branches :
13
13
- main
14
14
- next
15
+ workflow_dispatch :
15
16
16
17
jobs :
17
18
test :
24
25
strategy :
25
26
fail-fast : false
26
27
matrix :
27
- redmine_version : [5.0-stable, master]
28
- ruby_version : ['3.0', '3.1']
29
- db_version : [12-3.0, 15-3.3]
28
+ redmine_version : [5.0-stable, 5.1-stable, master]
29
+ ruby_version : ['3.0', '3.1', '3.2']
30
+ db_version : [12-3.4, 16-3.4]
31
+ include :
32
+ - system_test : true
33
+ redmine_version : 5.1-stable
34
+ ruby_version : ' 3.2'
35
+ exclude :
36
+ - redmine_version : 5.0-stable
37
+ ruby_version : ' 3.2'
38
+ - redmine_version : master
30
39
31
40
services :
32
41
postgres :
@@ -40,29 +49,36 @@ jobs:
40
49
41
50
steps :
42
51
- name : Checkout Redmine
43
- uses : actions/checkout@v3
52
+ uses : actions/checkout@v4
44
53
with :
45
54
repository : redmine/redmine
46
55
ref : ${{ matrix.redmine_version }}
47
56
path : redmine
48
57
49
58
- name : Checkout Plugin
50
- uses : actions/checkout@v3
59
+ uses : actions/checkout@v4
51
60
with :
52
61
path : redmine/plugins/${{ env.PLUGIN_NAME }}
53
62
54
63
- name : Update package archives
55
64
run : apt-get update --yes --quiet
56
65
57
66
- name : Install package dependencies
58
- run : >
59
- apt-get install --yes --quiet
60
- postgresql-client
61
- gcc libpq-dev make patch libgeos-dev curl
67
+ run : |
68
+ apt-get install --yes --quiet \
69
+ postgresql-client \
70
+ gcc libpq-dev make patch libgeos-dev curl
71
+ # For system test
72
+ if [ ${{ matrix.system_test }} = "true" ]; then
73
+ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
74
+ sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
75
+ apt-get -y update
76
+ apt-get install -y google-chrome-stable
77
+ fi
62
78
63
79
- name : Install Node/Yarn packages
64
80
run : |
65
- curl -sL https://deb.nodesource.com/setup_16 .x | bash -
81
+ curl -sL https://deb.nodesource.com/setup_20 .x | bash -
66
82
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
67
83
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
68
84
apt-get update --yes --quiet
@@ -122,8 +138,16 @@ jobs:
122
138
- name : Run tests
123
139
env :
124
140
RAILS_ENV : test
141
+ # For system test in plugin
142
+ GOOGLE_CHROME_OPTS_ARGS : " headless,disable-gpu,no-sandbox,disable-dev-shm-usage"
125
143
working-directory : redmine
126
- run : bundle exec rake redmine:plugins:test NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
144
+ run : |
145
+ bundle exec rake redmine:plugins:test:units NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
146
+ bundle exec rake redmine:plugins:test:functionals NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
147
+ bundle exec rake redmine:plugins:test:integration NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
148
+ if [ ${{ matrix.system_test }} = "true" ]; then
149
+ bundle exec rake redmine:plugins:test:system NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
150
+ fi
127
151
128
152
- name : Run uninstall test
129
153
env :
0 commit comments