Skip to content

Local Test Server - #288

Open
faogustavo wants to merge 2 commits into
mainfrom
gv/local-test-server
Open

Local Test Server#288
faogustavo wants to merge 2 commits into
mainfrom
gv/local-test-server

Conversation

@faogustavo

Copy link
Copy Markdown
Contributor
  • Instead of using a remote server for tests, use a local version that is started before you run tests
  • This allows forks to properly run the entire test suite, as they will not need access to any test secrets

@faogustavo faogustavo added this to the 1.3.0 milestone Sep 11, 2026
@faogustavo
faogustavo requested review from samhill303 and a lite review from Copilot September 11, 2026 21:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No blocking issues were identified; only minor documentation nits remain.

Pull request overview

This PR replaces the secret-backed remote test artifact service with a local Node.js server, enabling forked CI runs without test secrets.

Changes:

  • Adds and starts a local artifact server in CI.
  • Updates tests and artifact managers to use localhost.
  • Removes obsolete secret handling and documents local setup.
File summaries
File Reviewed changes
TESTING.md Documents local server setup.
kmmbridge/src/test/kotlin/co/touchlab/kmmbridge/SpmLocalDevTest.kt Removes remote server properties.
kmmbridge/src/test/kotlin/co/touchlab/kmmbridge/NonKmmBridgeTasksTest.kt Removes remote server properties.
kmmbridge/src/test/kotlin/co/touchlab/kmmbridge/BasePluginTest.kt Removes secret-file loading.
kmmbridge/src/test/kotlin/co/touchlab/kmmbridge/ArtifactManagerTest.kt Validates local artifact URLs.
kmmbridge-test/src/main/kotlin/Extensions.kt Configures the local test manager.
kmmbridge-test/src/main/kotlin/co/touchlab/kmmbridge/test/TestUploadArtifactManager.kt Uses local upload/download endpoints.
.gitignore Removes the obsolete secret ignore rule.
.github/workflows/build_mac.yml Starts and waits for the local server.
.github/scripts/test-artifact-server.js Implements the mock artifact server. The endpoint comment needs correction.
Review details
  • Files reviewed: 9/10 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

* Throwaway stand-in for Touchlab's private test-artifact server (api.touchlab.dev).
*
* Implements just the two endpoints KMMBridge's TestUploadArtifactManager needs:
* POST /store -> stores the request body, returns {"url": "/infoadmin/streamTestZip/<id>.zip"}
Comment thread TESTING.md
Comment on lines +13 to +14
`ArtifactManagerTest`, `SpmLocalDevTest`, and `NonKmmBridgeTasksTest` upload/download through a mock
artifact server hardcoded to `http://127.0.0.1:8089` (see `kmmbridge-test`'s `TestUploadArtifactManager`).
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.

2 participants