oh-canvas: Fix exception on empty initial svg config (#2864) #2826
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: Main UI | |
on: | |
push: | |
branches: [ main ] | |
paths: bundles/org.openhab.ui/web/** | |
pull_request: | |
branches: [ main ] | |
paths: bundles/org.openhab.ui/web/** | |
workflow_dispatch: | |
defaults: | |
run: | |
working-directory: bundles/org.openhab.ui/web | |
env: | |
NODE_VERSION: '20.12.2' | |
jobs: | |
checks: | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Cache node modules | |
id: cache | |
uses: actions/cache@v4 | |
with: | |
path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install Dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: Run ESLint | |
run: npm run lint | |
- name: Run Unit Tests | |
run: npm run test:unit | |
webpack-stats: | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Cache node modules | |
id: cache | |
uses: actions/cache@v4 | |
with: | |
path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install Dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: Build and generate report | |
run: npm run webpack-analyzer-report-stats | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: report | |
path: /home/runner/work/openhab-webui/openhab-webui/bundles/org.openhab.ui/web/report.html | |
# Upload bundle stats to use on relative-ci.yaml workflow | |
- name: Upload webpack stats artifact | |
uses: relative-ci/agent-upload-artifact-action@v2 | |
with: | |
webpackStatsFile: ./bundles/org.openhab.ui/web/stats.json |