Build new dev #287
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: JSROOT CI | |
on: | |
push: | |
branches: | |
- "master" | |
- "7.7" | |
- "7.8" | |
pull_request: | |
branches: | |
- "master" | |
jobs: | |
build-ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x, 20.x] | |
cxx: [g++-11, g++-12, g++-13] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Set up C++ compiler (Ubuntu) | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y ${{ matrix.cxx }} | |
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 | |
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev pkg-config | |
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV | |
- name: Install dependencies | |
run: | | |
npm ci | |
npm install gl --no-save | |
- name: Run eslint | |
run: | | |
npm run check | |
- name: Build jsroot.js | |
run: | | |
npm run build | |
- name: Run demos | |
run: | | |
cd demo/node; npm install; cd ../.. | |
xvfb-run -s "-ac -screen 0 1280x1024x24" node demo/node/makesvg.js | |
node demo/node/tree_dump.js | |
node demo/node/tree_draw.js | |
xvfb-run -s "-ac -screen 0 1280x1024x24" node demo/node/geomsvg.js | |
node demo/node/selector.js | |
cd demo/node; xvfb-run -s "-ac -screen 0 1280x1024x24" node make_image.js | |
tests_ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x, 20.x] | |
steps: | |
- name: Checkout jsroot | |
uses: actions/checkout@v4 | |
with: | |
path: 'jsroot' | |
- name: Checkout jsroot-test repo | |
uses: actions/checkout@v4 | |
with: | |
repository: 'linev/jsroot-test' | |
ref: '${{ github.ref }}' | |
path: 'jsroot-test' | |
- name: Show jsroot status | |
run: | | |
cd jsroot | |
git status | |
- name: Show jsroot-test status | |
run: | | |
cd jsroot-test | |
git status | |
- name: Install System Dependencies for headless-gl | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev xvfb | |
- name: Dependencies jsroot | |
run: | | |
cd jsroot | |
npm ci | |
npm install gl --no-save | |
- name: Dependencies jsroot-test | |
run: | | |
cd jsroot-test | |
npm install | |
- name: Run all tests | |
run: | | |
cd jsroot-test | |
xvfb-run -s "-ac -screen 0 1280x1024x24" node test.js -c -m -p | |
build-macos: | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Configure xcode usage | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
- name: Set up C++ compiler (macOS) | |
run: | | |
echo "CXX=clang++" >> $GITHUB_ENV | |
- name: Install dependencies | |
run: | | |
brew install python-setuptools pango librsvg | |
npm ci | |
npm install gl --no-save | |
- name: Run eslint | |
run: | | |
npm run check | |
- name: Build jsroot.js | |
run: | | |
npm run build | |
- name: Run demos | |
run: | | |
cd demo/node; npm install; cd ../.. | |
node demo/node/makesvg.js | |
node demo/node/tree_dump.js | |
node demo/node/tree_draw.js | |
node demo/node/selector.js | |
cd demo/node; node make_image.js | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Set up C++ compiler (Windows) | |
run: | | |
echo "CXX=cl" >> $GITHUB_ENV | |
- name: Install dependencies | |
run: | | |
npm install | |
npm install gl --no-save | |
- name: Run eslint | |
run: | | |
npm run check | |
- name: Build jsroot.js | |
run: | | |
npm run build | |
- name: Run demos | |
run: | | |
cd demo/node; npm install; cd ../.. | |
node demo/node/makesvg.js | |
node demo/node/tree_dump.js | |
node demo/node/tree_draw.js | |
node demo/node/geomsvg.js | |
node demo/node/selector.js | |
cd demo/node; node make_image.js |