Skip to content

A Kubernetes-native, massively parallelized, distributed integration test runner for Scala

License

Notifications You must be signed in to change notification settings

shopstic/toothpick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toothpick

CI License

A Kubernetes-native, massively parallelized, distributed integration test runner for Scala. Currently, it supports ScalaTest, with ZIO Test support coming soon.

Installation

Intellij Runner

Make sure your JAVA_HOME environment variable already points to an OpenJDK 11+ distribution, then run:

curl -L https://raw.githubusercontent.com/shopstic/toothpick/main/scripts/install.sh | bash

Which installs latest version to the default location of ~/.toothpick.

Alternatively, to install a specific version to a specific location:

curl -L https://raw.githubusercontent.com/shopstic/toothpick/main/scripts/install.sh | bash -s VERSION LOCATION

Then add the Toothpick JDK facade to your project:

  • Open the Project Structure dialog via File > Project Structure from the menu bar
  • Under Platform Settings > SDKs, click on the + icon then click Add JDK
  • Choose the path to the jdk directory inside the installed Toothpick directory, which defaults to ~/.toothpick/jdk
  • Rename the newly added JDK to Toothpick

Server

The Helm chart is published as an OCI registry package at ghcr.io/shopstic/chart-toothpick

helm chart save /path/to/charts/toothpick/ ghcr.io/shopstic/chart-toothpick:"${COMMIT_HASH}"

Configuration

Place a .toothpick.conf file at the root of your project directory to override any configuration. See tp-runner-app.conf for reference.

Usage

Run any ScalaTest as usual, then edit its Run configuration dialog. Scroll down to the bottom of the dialog and simply select Toothpick as the JRE. Click Apply then Run.