name: Dashboard on: pull_request: push: branches: - main - master jobs: frontend: runs-on: ubuntu-latest defaults: run: working-directory: ods/extensions/services/dashboard steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version: "20" - name: Install Dependencies (strict lock file check) run: npm ci - name: Lint run: npm run lint - name: Test run: npm run test - name: Build run: npm run build api: runs-on: ubuntu-latest defaults: run: working-directory: ods/extensions/services/dashboard-api steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.11" - name: API Syntax Check run: python -m py_compile main.py agent_monitor.py - name: Install Dependencies run: | pip install -r requirements.txt pip install -r tests/requirements-test.txt - name: Run Unit Tests run: pytest tests/ -v --cov=. --cov-report=term --cov-report=lcov:coverage.lcov