golem-scala-integration-tests

Runs and debugs the Golem Scala SDK self-hosted integration test suite.

1.5k|212|Updated Nov 24, 2023
One-click install
npx skills add https://github.com/golemcloud/golem --skill golem-scala-integration-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golem-scala-integration-tests
Source: https://github.com/golemcloud/golem/tree/main/.agents/skills/golem-scala-integration-tests
Command: npx skills add https://github.com/golemcloud/golem --skill golem-scala-integration-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Running the Golem Scala SDK integration suite requires a specific environment: a built golem binary on PATH, built TypeScript SDK packages, generated WebAssembly guest runtimes, and free local ports. This Skill documents the exact prerequisites, sbt commands, server lifecycle, and debugging steps so the suite runs correctly without trial and error.

Core Features & Use Cases

  • Suite Execution: Runs GolemExamplesIntegrationSpec via non-client sbt with GOLEM_TS_PACKAGES_PATH forwarded into the forked test JVM, including focused ZIO test selection.
  • Lifecycle Management: Documents how GolemServer.layer provisions the golem server, deploys the scala-examples manifest application, and cleans up golem-temp safely.
  • Debugging Guidance: Directs troubleshooting to the golem-server.log, failing CLI command output, stale generated build state, and TS package path misconfiguration.
  • Use Case: A Scala SDK contributor changes a test agent in test-agents/src/main/scala and needs to run only the affected focused test, verify the manifest-coverage test still passes, and diagnose a deploy failure from the server log.

Quick Start

Run the Golem Scala integration tests by setting GOLEM_TS_PACKAGES_PATH to the built TypeScript packages directory and executing sbt with the integrationTests/test task from the sdks/scala directory.

Frequently Asked Questions about golem-scala-integration-tests

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the Golem Scala integration tests?

Run the suite from sdks/scala using non-client sbt with GOLEM_TS_PACKAGES_PATH set to the built TypeScript packages directory, then execute sbt -batch "++3.8.2; integrationTests/test". The golem binary must be on PATH and port 9881 must be free.

How do I run a single focused ZIO test in the Scala integration suite?

Use sbt testOnly with the -t flag and the test name, for example sbt -batch '++3.8.2; integrationTests/testOnly -- -t snapshot-counter'. Keep GOLEM_TS_PACKAGES_PATH set so the forked test JVM receives it.

Why does the Scala integration suite fail at startup or deploy?

Check sdks/scala/target/scala-integration/golem-server.log first, then inspect the first failing golem build, deploy, or provision command printed by the test process. Common causes are a missing golem binary on PATH, an unbuilt TypeScript packages path, or port 9881 already in use.

Can I add new subprocess-based tests to the Scala integration suite?

No. The suite's direct launching of the golem executable conflicts with the repository rule that subprocess-based tests belong in the CLI integration test suite. New subprocess coverage must go there, while non-CLI Scala tests stay process-free.

What environment variables does the Golem Scala test suite require?

The suite requires GOLEM_TS_PACKAGES_PATH pointing at the built TypeScript SDK packages directory, and it forwards RUST_BACKTRACE=1 for build and server commands. In sbt client mode, pass -Dgolem.tsPackagesPath via integrationTests / Test / javaOptions instead.