Enhance Closure device registration with optional tags for pedestrian… #3672
This file contains hidden or 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: Node.js CI | |
| on: | |
| push: | |
| branches: [main, dev] | |
| paths-ignore: | |
| - 'docs/**' # any file under docs/ | |
| - 'screenshots/**' # any file under screenshots/ | |
| - '**/*.md' # any .md anywhere | |
| pull_request: | |
| branches: [main, dev] | |
| paths-ignore: | |
| - 'docs/**' # any file under docs/ | |
| - 'screenshots/**' # any file under screenshots/ | |
| - '**/*.md' # any .md anywhere | |
| workflow_dispatch: | |
| # Cancel previous runs when a new one is triggered (same branch/PR) | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [22.x, 24.x, 26.x] | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: npm | |
| - name: Verify Node.js version | |
| run: node -v | |
| - name: Verify Npm version | |
| run: npm -v | |
| - name: Install matterbridge dependencies | |
| run: npm ci --no-fund --no-audit | |
| - name: Build matterbridge | |
| run: npm run build | |
| - name: Install matterbridge globally | |
| run: npm install --no-fund --no-audit --global . | |
| - name: Test matterbridge cli | |
| run: | | |
| matterbridge --version | |
| matterbridge --loginterfaces | |
| - name: Lint matterbridge | |
| run: npm run lint | |
| - name: Install frontend dependencies | |
| run: npm ci --no-fund --no-audit | |
| working-directory: apps/frontend | |
| - name: Lint frontend | |
| run: npm run lint | |
| working-directory: apps/frontend | |
| - name: Build frontend | |
| run: npm run build | |
| working-directory: apps/frontend | |
| - name: Test frontend | |
| run: npm run test | |
| working-directory: apps/frontend | |
| - name: Test matterbridge | |
| run: npm run test -- --testTimeout=30000 | |
| - name: List, audit, fix outdated dependencies and build again | |
| run: | | |
| npm outdated || true | |
| npm audit || true | |
| npm audit fix || true | |
| npm update || true | |
| npx npm-check-updates -u || true | |
| npm install || true | |
| npm outdated || true | |
| npm audit || true | |
| npm run format || true | |
| npm run lint:fix || true | |
| npm run build || true |