https://github.com/tiny-systems/e2e
https://github.com/tiny-systems/e2e
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tiny-systems/e2e
- Owner: tiny-systems
- Created: 2026-05-09T08:43:13.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-30T21:54:17.000Z (about 1 month ago)
- Last Synced: 2026-05-30T23:19:48.908Z (about 1 month ago)
- Language: Go
- Size: 78.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tinysystems/e2e
Post-release end-to-end validation for Tiny Systems modules.
This repo runs slow, real-cluster scenarios against released module versions
and records the result. It does **not** gate releases — releases ship first,
this repo retroactively stamps each version with a pass/fail.
## How it runs
1. A module repo (e.g. `common-module`) cuts a release tag.
2. Its CI dispatches a `module-released` event to this repo with `{module, version}`.
3. This repo's CI spins up a kind cluster, installs the latest CRD chart and
the module at the released version, runs `scenarios/`, and writes
`results//.json`.
4. The result is committed back. README's status table is regenerated.
A second workflow (`retest-all`) re-runs the current scenarios against every
known (module, version) pair — useful when a new scenario lands and you want
to find out which historical versions it now flags.
## Running locally
```sh
make cluster # create kind cluster
make install MODULE=common-module VERSION=v0.5.0
make test # run scenarios
make teardown # delete kind cluster
```
Or all-in-one:
```sh
make e2e MODULE=common-module VERSION=v0.5.0
```
## Layout
```
scenarios/ # behavior tests — talk to the cluster via CRDs, SDK-agnostic
harness/ # k8s client + helpers for scenarios
scripts/ # kind + helm wrappers
results/ # per-(module,version) test results, committed to git
```
## Why SDK-agnostic
Scenarios use `unstructured` against installed CRDs rather than importing SDK
types. That keeps the test suite valid across SDK refactors — what's being
tested is the API contract (the CRD shape and the runtime's behavior), not
internal Go types.
## Status
| Module | Latest tested |
|---|---|
| _populated by CI_ | |