From 73cb30c32be16a073c42cf96387afcd94965378a Mon Sep 17 00:00:00 2001 From: Julian lechner Date: Thu, 8 Oct 2026 14:59:32 +0200 Subject: [PATCH] ci(qmd): keep model execution out of ci --- .gitea/workflows/ci.yml | 15 +++------------ scripts/tests/test-qmd-integration.mjs | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 216f927..099f173 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -173,27 +173,18 @@ jobs: run: timeout 900 python scripts/tests/test-client-smoke.py -v qmd: - name: QMD local search integration + name: QMD unit tests runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 10 needs: [python] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v22.16.0 with: node-version: '24' - - name: Install QMD - run: npm install --global @tobilu/qmd@2.8.3 + # CI runs model-free tests only; real-model integration requires a suitable local machine. - name: Run QMD unit tests run: node --test scripts/tests/test-qmd-lib.mjs scripts/tests/test-qmd-daemon.mjs scripts/tests/test-qmd-search.mjs scripts/tests/test-qmd-warm.mjs scripts/tests/test-qmd-benchmark.mjs - - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 - with: - path: .cache/qmd-models - key: qmd-models-${{ runner.os }}-2.8.3-qwen3 - - name: Run QMD integration test with real models - env: - QMD_TEST_CACHE: ${{ github.workspace }}/.cache/qmd-models - run: node --test scripts/tests/test-qmd-integration.mjs security: name: CI configuration security checks diff --git a/scripts/tests/test-qmd-integration.mjs b/scripts/tests/test-qmd-integration.mjs index 341b0e1..6118e81 100644 --- a/scripts/tests/test-qmd-integration.mjs +++ b/scripts/tests/test-qmd-integration.mjs @@ -1,4 +1,4 @@ -// Real QMD, real models; run only in the qmd CI job or manually. +// Real QMD, real models; run manually on a machine capable of downloading and running the models. import { test } from 'node:test'; import assert from 'node:assert/strict'; import { execFileSync } from 'node:child_process';