Merge pull request #626 from atls/feature/schematic-smoke-helper #45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Raijin LLM Smoke | |
| on: | |
| push: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| inputs: | |
| model: | |
| description: OpenAI model name | |
| required: false | |
| default: gpt-5.4-mini | |
| jobs: | |
| llm-smoke: | |
| name: LLM routing smoke | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: | |
| NODE_VERSION: '24' | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || secrets.OPENAI_SERVICE_ACCOUNT_KEY }} | |
| OPENAI_MODEL: ${{ inputs.model || vars.OPENAI_SMOKE_MODEL || 'gpt-5.4-mini' }} | |
| LLM_SMOKE_REPORT_PATH: artifacts/llm-smoke-report.json | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| - name: Generate raijin artifacts | |
| run: node scripts/raijin/generate-artifacts.mjs | |
| - name: Validate localization sync | |
| run: node scripts/raijin/check-localization-sync.mjs | |
| - name: Validate semantics coverage | |
| run: node scripts/raijin/check-semantics-coverage.mjs | |
| - name: Run deterministic smoke | |
| run: node scripts/raijin/run-deterministic-smoke.mjs | |
| - name: Skip when OPENAI_API_KEY is missing | |
| if: ${{ env.OPENAI_API_KEY == '' }} | |
| run: | | |
| echo "OPENAI_API_KEY and OPENAI_SERVICE_ACCOUNT_KEY are not set. Skipping LLM smoke." | |
| - name: Run LLM smoke | |
| if: ${{ env.OPENAI_API_KEY != '' }} | |
| run: node scripts/raijin/run-llm-smoke.mjs | |
| - name: Upload LLM smoke report | |
| if: ${{ always() && env.OPENAI_API_KEY != '' }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: raijin-llm-smoke-report | |
| path: artifacts/llm-smoke-report.json | |
| if-no-files-found: error |