Skip to content

Add CI pipeline using test-framework-template #2

Description

@dogkeeper886

Summary

Set up a CI pipeline for testlink-code by installing test-framework-template into the cicd/ directory. This gives us automated validation on PRs and pushes before we start adding new API endpoints (see #1).

Motivation

  • No test coverage or linting exists today — only a Docker publish workflow
  • Issue [feat] Add deleteTestCase and deleteTestSuite to XML-RPC API #1 will add deleteTestCase and deleteTestSuite endpoints — we need CI to validate those changes
  • test-framework-template provides YAML-driven tests with GitHub Actions workflows ready to use

Plan

Install Framework

  • Run make install from test-framework-template into cicd/
  • Add test-pipeline.yml and test-suite.yml workflows to .github/workflows/
  • Configure config.ts for testlink-code

Build Suite (TC-BUILD-*)

  • PHP syntax check — find . -name '*.php' | xargs php -l
  • Docker build — verify the image builds successfully
  • Composer install — verify dependencies resolve

Integration Suite (TC-INTEGRATION-*)

  • Container startup — docker compose up, health check
  • XML-RPC API smoke test — call tl.ping, verify response
  • Authentication — call tl.checkDevKey with test API key

E2E Suite (TC-E2E-*)

  • Full CRUD workflow — create project → create suite → create test case → verify → cleanup
  • Validates the API endpoints work end-to-end against a real TestLink instance

Dependencies

  • Docker Compose setup for TestLink + database (may need a docker-compose.ci.yml)
  • Node.js 20 for the test runner
  • Ollama (optional, for LLM judge — can run with --no-llm in CI initially)

Acceptance Criteria

  • cicd/ directory installed with test-framework-template
  • GitHub Actions runs on PRs and pushes
  • Build suite passes (PHP lint, Docker build)
  • Integration suite passes (container starts, API responds)
  • E2E suite passes (CRUD workflow)

References

Activity

  1. dogkeeper886 commented on Apr 8, 2026

    @dogkeeper886
    OwnerAuthor

    Starting work on branch issue-2-ci-pipeline

  2. dogkeeper886 commented on Apr 9, 2026

    @dogkeeper886
    OwnerAuthor

    Implementation complete, all 7 tests passing locally (build: 3, integration: 3, e2e: 1). Ready for PR.

  3. added a commit that references this issue on Apr 9, 2026
    ec18390
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions