Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shopstic/toothpick
A Kubernetes-native, massively parallelized, distributed integration test runner for Scala
https://github.com/shopstic/toothpick
akka intellij kubernetes scala scalatest zio
Last synced: 4 days ago
JSON representation
A Kubernetes-native, massively parallelized, distributed integration test runner for Scala
- Host: GitHub
- URL: https://github.com/shopstic/toothpick
- Owner: shopstic
- License: apache-2.0
- Created: 2021-05-02T07:52:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T18:29:20.000Z (7 months ago)
- Last Synced: 2024-05-08T22:59:29.787Z (6 months ago)
- Topics: akka, intellij, kubernetes, scala, scalatest, zio
- Language: Scala
- Homepage: https://toothpick.dev
- Size: 341 KB
- Stars: 5
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Toothpick
[![CI](https://github.com/shopstic/toothpick/actions/workflows/dev.yaml/badge.svg)](https://github.com/shopstic/toothpick/actions) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/shopstic/toothpick/blob/main/LICENSE)
A Kubernetes-native, massively parallelized, distributed integration test runner for Scala. Currently, it supports [ScalaTest](https://www.scalatest.org/), with [ZIO Test](https://zio.dev/docs/usecases/usecases_testing) support coming soon.
## Installation
### Intellij Runner
Make sure your `JAVA_HOME` environment variable already points to an OpenJDK 11+ distribution, then run:
```bash
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:
```bash
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](https://helm.sh/docs/topics/registries/) at `ghcr.io/shopstic/chart-toothpick`
```bash
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](./toothpick-runner/src/main/resources/dev/toothpick/app/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`.