Skip to content

feat(test): add ephemeral Docker Vikunja MCP integration CI - #72

Open
joyjit wants to merge 3 commits into
democratize-technology:mainfrom
joyjit:resubmit/mcp-docker-ci
Open

feat(test): add ephemeral Docker Vikunja MCP integration CI#72
joyjit wants to merge 3 commits into
democratize-technology:mainfrom
joyjit:resubmit/mcp-docker-ci

Conversation

@joyjit

@joyjit joyjit commented Jul 17, 2026

Copy link
Copy Markdown

Description

Ephemeral Dockerized Vikunja for live MCP integration tests:

  • docker/vikunja.e2e.yml — pinned vikunja/vikunja:2.3.0, SQLite on tmpfs
  • scripts/vikunja-docker.ts — up/down: health wait, register user, mint JWT → .env.e2e (no secrets)
  • npm run test:mcp = up → suite → down
  • .github/workflows/mcp-integration.yml on PR/push to main/develop
  • Docs: docs/MCP-INTEGRATION-CI.md

Related Issue

Implements the PR-gate portion of #68.

Depends on #71 (suite alignment). This branch includes that commit until #71 merges.

Motivation and Context

Unit CI mocks the Vikunja API, so regressions against a real server only show up manually. This adds a PR gate against an ephemeral real Vikunja.

How Has This Been Tested?

  • npm run test:mcp on the joyjit/vikunja-mcp fork
  • GitHub Actions MCP Integration workflow green on the fork

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactor
  • Performance improvement

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Merge order

  1. fix(test-mcp): align labels and archive with Vikunja 2.3 #71 — suite alignment
  2. This PR
  3. Weekly canary + Dependabot

joyjit added 2 commits July 16, 2026 18:14
Use PUT /tasks/{id}/labels and GET …/labels. Include title when
archiving so sparse updates do not 412 against current Vikunja.

Part of democratize-technology#68.
Add pinned Vikunja Compose, runtime JWT bootstrap, npm test:mcp
orchestration, and a GitHub Actions PR gate. No repo secrets.
Pattern mirrors mini-mealie's Dockerized E2E gate.

Implements the PR-gate portion of democratize-technology#68.
Align the ephemeral Docker gate with the raised CI runtime bar.
@joyjit

joyjit commented Jul 17, 2026

Copy link
Copy Markdown
Author

Updated: MCP integration workflow now uses Node 24 + actions/checkout@v5 / setup-node@v5 so this gate matches the raised CI runtime bar (see also #74).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant