name: CI on: push: branches: [develop, main] pull_request: branches: [develop, main] permissions: contents: read jobs: validate: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20.19.0 cache: npm - name: Install locked dependencies run: npm ci - name: Validate template contract run: npm run check - name: Execute fixed QKForce profile run: npm run qkforce:test - name: Build portable report if: always() run: npm run qkforce:report - name: Upload QKTestAnalytics results if: always() uses: actions/upload-artifact@v4 with: name: qkforce-results path: qreport-results/ if-no-files-found: warn