Skip to content

Commit a273dbf

Browse files
committed
Separate CI for master and 7.7/7.8 branches
Try to use node 22.x for master
1 parent f473139 commit a273dbf

2 files changed

Lines changed: 219 additions & 17 deletions

File tree

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
name: JSROOT CI Old
2+
3+
on:
4+
push:
5+
branches:
6+
- "7.7"
7+
- "7.8"
8+
9+
jobs:
10+
build-ubuntu:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
node-version: [18.x, 20.x]
16+
cxx: [g++-11, g++-12, g++-13]
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Use Node.js ${{ matrix.node-version }}
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: ${{ matrix.node-version }}
24+
cache: 'npm'
25+
26+
- name: Set up C++ compiler (Ubuntu)
27+
run: |
28+
sudo apt-get update
29+
sudo apt-get install -y ${{ matrix.cxx }}
30+
sudo apt-get install -y xutils-dev libxi-dev libxxf86vm-dev x11proto-xf86vidmode-dev mesa-utils xvfb libgl1-mesa-dri libglapi-mesa libosmesa6 musl-dev libgl1-mesa-dev
31+
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev pkg-config
32+
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
33+
34+
- name: Install dependencies
35+
run: |
36+
npm ci
37+
npm install gl --no-save
38+
39+
- name: Run eslint
40+
run: |
41+
npm run check
42+
43+
- name: Build jsroot.js
44+
run: |
45+
npm run build
46+
47+
- name: Run demos
48+
run: |
49+
cd demo/node; npm install; cd ../..
50+
xvfb-run -s "-ac -screen 0 1280x1024x24" node demo/node/makesvg.js
51+
node demo/node/tree_dump.js
52+
node demo/node/tree_draw.js
53+
xvfb-run -s "-ac -screen 0 1280x1024x24" node demo/node/geomsvg.js
54+
node demo/node/selector.js
55+
cd demo/node; xvfb-run -s "-ac -screen 0 1280x1024x24" node make_image.js
56+
57+
tests_ubuntu:
58+
runs-on: ubuntu-latest
59+
strategy:
60+
matrix:
61+
node-version: [18.x, 20.x]
62+
steps:
63+
- name: Checkout jsroot
64+
uses: actions/checkout@v4
65+
with:
66+
path: 'jsroot'
67+
68+
- name: Checkout jsroot-test repo
69+
uses: actions/checkout@v4
70+
with:
71+
repository: 'linev/jsroot-test'
72+
ref: '${{ github.ref }}'
73+
path: 'jsroot-test'
74+
75+
- name: Show jsroot status
76+
run: |
77+
cd jsroot
78+
git status
79+
80+
- name: Show jsroot-test status
81+
run: |
82+
cd jsroot-test
83+
git status
84+
85+
- name: Install System Dependencies for headless-gl
86+
run: |
87+
sudo apt-get update
88+
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev xvfb
89+
90+
- name: Dependencies jsroot
91+
run: |
92+
cd jsroot
93+
npm ci
94+
npm install gl --no-save
95+
96+
- name: Dependencies jsroot-test
97+
run: |
98+
cd jsroot-test
99+
npm install
100+
101+
- name: Run all tests
102+
run: |
103+
cd jsroot-test
104+
xvfb-run -s "-ac -screen 0 1280x1024x24" node test.js -c -m -p
105+
106+
build-macos:
107+
runs-on: macos-latest
108+
strategy:
109+
fail-fast: false
110+
matrix:
111+
node-version: [18.x, 20.x]
112+
113+
steps:
114+
- uses: actions/checkout@v4
115+
- name: Use Node.js ${{ matrix.node-version }}
116+
uses: actions/setup-node@v4
117+
with:
118+
node-version: ${{ matrix.node-version }}
119+
cache: 'npm'
120+
121+
- name: Configure xcode usage
122+
uses: maxim-lobanov/setup-xcode@v1
123+
with:
124+
xcode-version: latest-stable
125+
126+
- name: Set up C++ compiler (macOS)
127+
run: |
128+
echo "CXX=clang++" >> $GITHUB_ENV
129+
130+
- name: Install dependencies
131+
run: |
132+
brew install python-setuptools pango librsvg
133+
npm ci
134+
npm install gl --no-save
135+
136+
- name: Run eslint
137+
run: |
138+
npm run check
139+
140+
- name: Build jsroot.js
141+
run: |
142+
npm run build
143+
144+
- name: Run demos
145+
run: |
146+
cd demo/node; npm install; cd ../..
147+
node demo/node/makesvg.js
148+
node demo/node/tree_dump.js
149+
node demo/node/tree_draw.js
150+
node demo/node/selector.js
151+
cd demo/node; node make_image.js
152+
153+
build-windows:
154+
runs-on: windows-latest
155+
strategy:
156+
fail-fast: false
157+
matrix:
158+
node-version: [18.x, 20.x]
159+
160+
steps:
161+
- uses: actions/checkout@v4
162+
- name: Use Node.js ${{ matrix.node-version }}
163+
uses: actions/setup-node@v4
164+
with:
165+
node-version: ${{ matrix.node-version }}
166+
cache: 'npm'
167+
168+
- name: Set up C++ compiler (Windows)
169+
run: |
170+
echo "CXX=cl" >> $GITHUB_ENV
171+
172+
- name: Install dependencies
173+
run: |
174+
npm install
175+
npm install gl --no-save
176+
177+
- name: Run eslint
178+
run: |
179+
npm run check
180+
181+
- name: Build jsroot.js
182+
run: |
183+
npm run build
184+
185+
- name: Run demos
186+
run: |
187+
cd demo/node; npm install; cd ../..
188+
node demo/node/makesvg.js
189+
node demo/node/tree_dump.js
190+
node demo/node/tree_draw.js
191+
node demo/node/geomsvg.js
192+
node demo/node/selector.js
193+
cd demo/node; node make_image.js

.github/workflows/jsroot-ci.yml

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ on:
44
push:
55
branches:
66
- "master"
7-
- "7.7"
8-
- "7.8"
97
pull_request:
108
branches:
119
- "master"
@@ -16,11 +14,12 @@ jobs:
1614
strategy:
1715
fail-fast: false
1816
matrix:
19-
node-version: [18.x, 20.x]
17+
node-version: [18.x, 20.x, 22.x]
2018
cxx: [g++-11, g++-12, g++-13]
2119

2220
steps:
2321
- uses: actions/checkout@v4
22+
2423
- name: Use Node.js ${{ matrix.node-version }}
2524
uses: actions/setup-node@v4
2625
with:
@@ -34,11 +33,11 @@ jobs:
3433
sudo apt-get install -y xutils-dev libxi-dev libxxf86vm-dev x11proto-xf86vidmode-dev mesa-utils xvfb libgl1-mesa-dri libglapi-mesa libosmesa6 musl-dev libgl1-mesa-dev
3534
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev pkg-config
3635
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
36+
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
3737
3838
- name: Install dependencies
3939
run: |
4040
npm ci
41-
npm install gl --no-save
4241
4342
- name: Run eslint
4443
run: |
@@ -61,8 +60,11 @@ jobs:
6160
tests_ubuntu:
6261
runs-on: ubuntu-latest
6362
strategy:
63+
fail-fast: false
6464
matrix:
65-
node-version: [18.x, 20.x]
65+
node-version: [18.x, 20.x, 22.x]
66+
cxx: [g++-11, g++-12, g++-13]
67+
6668
steps:
6769
- name: Checkout jsroot
6870
uses: actions/checkout@v4
@@ -73,29 +75,38 @@ jobs:
7375
uses: actions/checkout@v4
7476
with:
7577
repository: 'linev/jsroot-test'
76-
ref: '${{ github.ref }}'
7778
path: 'jsroot-test'
7879

7980
- name: Show jsroot status
8081
run: |
81-
cd jsroot
82-
git status
82+
cd jsroot
83+
git status
8384
8485
- name: Show jsroot-test status
8586
run: |
86-
cd jsroot-test
87-
git status
87+
cd jsroot-test
88+
git status
8889
89-
- name: Install System Dependencies for headless-gl
90+
- name: Use Node.js ${{ matrix.node-version }}
91+
uses: actions/setup-node@v4
92+
with:
93+
cache-dependency-path: jsroot/package-lock.json
94+
node-version: ${{ matrix.node-version }}
95+
cache: 'npm'
96+
97+
- name: Set up C++ compiler (Ubuntu)
9098
run: |
9199
sudo apt-get update
92-
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev xvfb
100+
sudo apt-get install -y ${{ matrix.cxx }}
101+
sudo apt-get install -y xutils-dev libxi-dev libxxf86vm-dev x11proto-xf86vidmode-dev mesa-utils xvfb libgl1-mesa-dri libglapi-mesa libosmesa6 musl-dev libgl1-mesa-dev
102+
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev pkg-config
103+
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
104+
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
93105
94106
- name: Dependencies jsroot
95107
run: |
96108
cd jsroot
97109
npm ci
98-
npm install gl --no-save
99110
100111
- name: Dependencies jsroot-test
101112
run: |
@@ -112,7 +123,7 @@ jobs:
112123
strategy:
113124
fail-fast: false
114125
matrix:
115-
node-version: [18.x, 20.x]
126+
node-version: [18.x, 20.x, 22.x]
116127

117128
steps:
118129
- uses: actions/checkout@v4
@@ -135,7 +146,6 @@ jobs:
135146
run: |
136147
brew install python-setuptools pango librsvg
137148
npm ci
138-
npm install gl --no-save
139149
140150
- name: Run eslint
141151
run: |
@@ -159,7 +169,7 @@ jobs:
159169
strategy:
160170
fail-fast: false
161171
matrix:
162-
node-version: [18.x, 20.x]
172+
node-version: [18.x, 20.x, 22.x]
163173

164174
steps:
165175
- uses: actions/checkout@v4
@@ -176,7 +186,6 @@ jobs:
176186
- name: Install dependencies
177187
run: |
178188
npm install
179-
npm install gl --no-save
180189
181190
- name: Run eslint
182191
run: |

0 commit comments

Comments
 (0)