Skip to content

readme: a shot and a line for every widget #85

readme: a shot and a line for every widget

readme: a shot and a line for every widget #85

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
# a dropped push webhook leaves no run to re-run; this makes a missing one replayable by hand
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
cache: maven
- uses: actions/setup-node@v5
with:
node-version: 24
cache: npm
cache-dependency-path: web/package-lock.json
# the only place the linter and the unit suite run at all
- name: Check the frontend
working-directory: web
run: |
npm ci
npm run check
- name: Build add-on
run: ./mvnw -B -ntp clean install
# a jar whose frontend failed to pack still installs, and then serves nothing at all
- name: Check the jar is complete
run: |
jar="$(ls target/org.openhab.ui.neohab-*.jar)"
if ! unzip -l "$jar" | grep -q 'web/index.html'; then
echo '::error::the built jar contains no frontend'
exit 1
fi
if ! unzip -p "$jar" META-INF/MANIFEST.MF | grep -q 'Bundle-SymbolicName: org.openhab.ui.neohab'; then
echo '::error::the built jar is not the neohab OSGi bundle'
exit 1
fi
echo "$(basename "$jar") ($(du -h "$jar" | cut -f1))" >> "$GITHUB_STEP_SUMMARY"
- name: Upload add-on jar
uses: actions/upload-artifact@v5
with:
name: neohab-addon
path: target/org.openhab.ui.neohab-*.jar
if-no-files-found: error