diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..3d9d7312 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI (Quality Gate) + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Type Check (The Husky-Guard) + # Dies findet den "onSetti" Abbruch-Fehler sofort! + run: npm run check + + - name: Linting + run: npm run lint + + - name: Unit Tests + # Stellt sicher, dass das Refactoring die Logik nicht zerschossen hat + run: npm run test \ No newline at end of file diff --git a/client/src/components/features/simulator/SimulatorSidebar.tsx b/client/src/components/features/simulator/SimulatorSidebar.tsx index 6ab19d23..5121a9e8 100644 --- a/client/src/components/features/simulator/SimulatorSidebar.tsx +++ b/client/src/components/features/simulator/SimulatorSidebar.tsx @@ -12,6 +12,14 @@ type SimulatorSidebarProps = { simulationStatus: SimulationStatus | undefined; txActivity: number; rxActivity: number; + // telemetry info (useTelemetry hook) + telemetryData?: any; + rates?: { + serialOutputPerSecond: number; + serialBytesPerSecond: number; + serialDroppedBytesPerSecond: number; + serialBytesTotal: number; + }; onReset: () => void; onPinToggle: (pin: number, newValue: number) => void; analogPins: number[]; @@ -36,10 +44,11 @@ export default function SimulatorSidebar({ const isRunning = simulationStatus !== "stopped"; return ( -