Skip to content

ci(workflows): wire GitHub Actions env vars + secrets — FR-005 #19#21

Merged
dogkeeper886 merged 2 commits intotestlink_1_9_20_fixedfrom
issue-19-github-actions-env-vars
Apr 20, 2026
Merged

ci(workflows): wire GitHub Actions env vars + secrets — FR-005 #19#21
dogkeeper886 merged 2 commits intotestlink_1_9_20_fixedfrom
issue-19-github-actions-env-vars

Conversation

@dogkeeper886
Copy link
Copy Markdown
Owner

Implements FR-005. Closes #19.

Summary

  • test-suite.yml exports LLM_JUDGE_URL, LLM_JUDGE_MODEL, TL_DEV_KEY from repo secrets/vars into the run step's env. Local dev via cicd/tests/.env is unaffected — the runner never materializes that file.
  • test-pipeline.yml gets secrets: inherit on all five job calls so secrets cross the workflow_call boundary when the pipeline is the entry point.
  • --judge-model is only appended when the operator explicitly typed one at dispatch time, so vars.LLM_JUDGE_MODEL / the framework default aren't shadowed. Precedence: CLI flag (explicit) > env var (repo variable) > config.ts default.
  • Framework default model flipped from llama3:8b to gemma3:4b in config.ts, types.ts, CI_SETUP.md, and FR-005.
  • New doc: cicd/CI_SETUP.md naming the secrets/variables a collaborator adds in fork settings.

Why two commits

The first commit (883ab49f) plumbs the env block and writes the doc. Review turned up two non-obvious bugs — secrets: inherit missing on the pipeline caller, and LLM_JUDGE_MODEL being shadowed by the always-present --judge-model CLI flag. The second commit (17fae8fb) fixes both and refreshes the default model. Kept as separate commits to make the second one's reasoning self-documenting.

Test plan

  • Dispatch test-suite.yml directly with judge_mode=simple, confirm green run with --no-llm
  • Dispatch test-pipeline.yml with judge_mode=simple, confirm all five suites green
  • With secrets.LLM_JUDGE_URL + vars.LLM_JUDGE_MODEL set in fork settings, dispatch test-pipeline.yml with judge_mode=dual, confirm LLM judge reaches the configured endpoint and uses the configured model (not gemma3:4b framework default, not llama3:8b)
  • Local bash cicd/scripts/run-tests.sh --suite smoke still works against cicd/tests/.env

🤖 Generated with Claude Code

dogkeeper886 and others added 2 commits April 20, 2026 05:01
Run-tests step now exports LLM_JUDGE_URL, LLM_JUDGE_MODEL, and
TL_DEV_KEY from repo secrets/vars into the job environment. When
unset, the framework's existing defaults apply — simple-judge CI
runs unchanged, local dev via cicd/tests/.env unaffected.

Adds cicd/CI_SETUP.md naming the secrets/variables a collaborator
must add in their fork's Settings → Secrets and variables → Actions.

Marks FR-005 in-progress in its frontmatter and the index.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…MODEL

Two issues the initial FR-005 wiring missed, plus a default refresh:

1. test-pipeline.yml invokes test-suite.yml via workflow_call. Without
   `secrets: inherit`, secrets defined in repo settings don't cross the
   reusable-workflow boundary, so ${{ secrets.LLM_JUDGE_URL }} evaluated
   to "" when the pipeline was run as the main entry point. Fix by
   adding `secrets: inherit` to all five job calls. Direct
   workflow_dispatch of test-suite.yml already worked.

2. test-suite.yml's `judge_model` input defaulted to 'llama3:8b' and
   was always passed via --judge-model on the CLI. That shadowed
   LLM_JUDGE_MODEL from the env block (fed by vars.LLM_JUDGE_MODEL),
   making the repo variable dead-lettered. Fix by defaulting the
   input to empty and only appending --judge-model when the operator
   explicitly typed one — otherwise the env var / framework default
   take effect. Precedence is now: CLI flag (explicit) > env var
   (repo variable) > config.ts default.

3. Framework default model flips from llama3:8b to gemma3:4b (smaller,
   faster, what the project actually targets). Updated in config.ts,
   types.ts, CI_SETUP.md, and FR-005.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dogkeeper886 dogkeeper886 merged commit a53a78a into testlink_1_9_20_fixed Apr 20, 2026
@dogkeeper886 dogkeeper886 deleted the issue-19-github-actions-env-vars branch April 20, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore] Wire GitHub Actions runner env vars + secrets for the CI suite

1 participant