name: Backend Foundation on: workflow_dispatch: # Manual trigger only — auto-triggers disabled (free plan) workflow_dispatch: jobs: backend-foundation-makefile: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Validate backend make targets run: | make backend-help make help | grep "backend-" - name: Dry-run backend automation targets run: | make -n backend-enable-apis ENV=dev make -n backend-bootstrap-dev ENV=dev make -n backend-deploy-core ENV=dev make -n backend-deploy-commands ENV=dev make -n backend-deploy-workers ENV=dev make -n backend-smoke-core ENV=dev make -n backend-smoke-commands ENV=dev make -n backend-logs-core ENV=dev make -n backend-bootstrap-v2-dev ENV=dev make -n backend-deploy-core-v2 ENV=dev make -n backend-deploy-commands-v2 ENV=dev make -n backend-deploy-query-v2 ENV=dev make -n backend-smoke-core-v2 ENV=dev make -n backend-smoke-commands-v2 ENV=dev make -n backend-smoke-query-v2 ENV=dev make -n backend-logs-core-v2 ENV=dev backend-services-tests: runs-on: ubuntu-latest strategy: matrix: service: - backend/core-api - backend/command-api - backend/query-api defaults: run: working-directory: ${{ matrix.service }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm cache-dependency-path: ${{ matrix.service }}/package-lock.json - name: Install dependencies run: npm ci - name: Run tests env: AUTH_BYPASS: "true" LLM_MOCK: "true" run: npm test