name: MotorSignal Website CI on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: permissions: contents: read concurrency: group: website-ci-${{ github.ref }} cancel-in-progress: true jobs: website-build-and-tests: name: Website build and regression tests runs-on: ubuntu-latest defaults: run: working-directory: website steps: - name: Checkout uses: actions/checkout@v6 - name: Set up Node uses: actions/setup-node@v6 with: node-version: '22' cache: 'npm' cache-dependency-path: website/package-lock.json - name: Install dependencies run: npm ci - name: Build Next.js application env: MOTORSIGNAL_GIT_SHA: ${{ github.sha }} run: npm run build - name: Run Founder Portal tests run: node tests/founder-portal.test.cjs - name: Run Operations Console tests run: node tests/ops-experience.test.cjs - name: Run Responsive Layout tests run: node tests/responsive-layout.test.cjs - name: Run Navigation and Auth tests run: node tests/navigation-auth.cjs - name: Verify deployment revision contract run: node tests/deployment-revision.test.cjs