Skip to content

Merge pull request #626 from atls/feature/schematic-smoke-helper #45

Merge pull request #626 from atls/feature/schematic-smoke-helper

Merge pull request #626 from atls/feature/schematic-smoke-helper #45

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