datahaven/operator
Tim B 1997c298a1
refactor: 🐳 Improve docker caching (again) (#86)
## Changes

- New CI file for making Docker Prod images
- Changed E2E tests use an image built from a local dockerfile
- Some cargo build options to make it quicker
- Fix the cache hit rate
- added `tsgo` preview to the project 😎
  - Can be invoked with `bun tsgo` to typecheck
- Install in IDE
[VSCode](https://code.visualstudio.com/docs/configure/extensions/extension-marketplace)
& [Zed](https://github.com/zed-extensions/tsgo) for super-fast inline
typechecking (as you type basically)

## Context

This PR attempts to make the frankly unacceptable CI times better. This
achieves that aim by making a crappy image for day-to-day usage and let
the prod issue take ages since that will be infrequently used. The
reason why the original design didn't work for us is because: 1) we are
using the free GH runners 2) when we goto baremetal runners we'll lose
our rapid caching abilities which make using docker cheap.

Also, we add `tsgo` support to improve devex. The improvement is
astounding.

```sh
hyperfine -n tsc "bun tsc --incremental false --extendedDiagnostics" -n tsgo "bun tsgo --incremental false --extendedDiagnostics"
Benchmark 1: tsc
  Time (mean ± σ):      5.500 s ±  0.221 s    [User: 8.939 s, System: 0.400 s]
  Range (min … max):    5.196 s …  5.845 s    10 runs
 
Benchmark 2: tsgo
  Time (mean ± σ):      99.1 ms ±   8.4 ms    [User: 392.8 ms, System: 54.1 ms]
  Range (min … max):    88.3 ms … 116.0 ms    29 runs
 
Summary
  tsgo ran
   55.48 ± 5.22 times faster than tsc
```
2025-05-27 16:14:15 +00:00
..
.cargo refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00:00
node perf(CLI): Add option to use local Docker build in CLI for faster iteration (#77) 2025-05-16 18:04:40 -03:00
pallets feat(operator): Add External Validators Rewards Pallet (#72) 2025-05-22 00:51:24 +00:00
primitives feat(operator): Add external validators Pallet (#65) 2025-05-14 11:05:07 +02:00
runtime feat(operator): Add External Validators Rewards Pallet (#72) 2025-05-22 00:51:24 +00:00
scripts feat(ci): add script to sort cargo deps (#62) 2025-05-06 17:22:01 +00:00
test Configure only 2 validators (Alice & Bob) for Stagenet (#78) 2025-05-19 13:21:45 +01:00
.dockerignore refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00:00
.gitignore build: 🏗️ DataHaven operator setup (#6) 2025-03-17 17:57:14 +01:00
Cargo.lock feat(operator): Add External Validators Rewards Pallet (#72) 2025-05-22 00:51:24 +00:00
Cargo.toml feat(operator): Add External Validators Rewards Pallet (#72) 2025-05-22 00:51:24 +00:00
Dockerfile refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00:00
LICENSE build: 🏗️ DataHaven operator setup (#6) 2025-03-17 17:57:14 +01:00
README.md fix: 🩹 update to allow BEEFY relayer to run correctly (#67) 2025-05-16 01:56:19 +00:00
rust-toolchain.toml test: New CLI functions (#84) 2025-05-22 20:02:12 +00:00

DataHaven 🫎

Based on polkadot-sdk-solochain-template

Zombienet testing

First, install zombienet.

To spawn a local solo chain with four validators and BABE finality, run:

zombienet -p native spawn test/config/zombie-datahaven-local.toml