1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Rivet developer shortcuts.
# Requires Rust 1.94+ (see rust-toolchain.toml if present).
:
# PR-fast: offline type-mapping contracts (no docker).
:
# Full type matrix: MySQL + PostgreSQL × Parquet + CSV (docker required).
:
# Property-based value round-trip (OPT-3): random in-range values → MySQL →
# Parquet → read-back, asserting every value survives. Requires `docker compose
# up -d mysql`. Tune case count with PROPTEST_CASES (default 12).
:
# Independent-reader validators: PG/MySQL matrix → Parquet → {DuckDB, ClickHouse}.
# Requires `docker compose up -d postgres mysql duckdb clickhouse` first.
# See ADR-0014; the duckdb + clickhouse services are oracles for the Parquet
# layer, not productive components.
:
# Cloud validator: PG/MySQL matrix → Parquet → BigQuery (real warehouse oracle).
# Requires:
# - `bq` CLI on PATH and authenticated (`gcloud auth application-default login`).
# - BIGQUERY_TEST_PROJECT env var. Optional: BIGQUERY_TEST_DATASET (default
# `rivet_type_lab`), BIGQUERY_TEST_LOCATION (default `EU`).
# - docker-compose postgres + mysql for the source databases.
# Mirrors the docs/recipes/snowflake-load.md fidelity table — pins what
# BigQuery's autoload actually does to rivet Parquet today.
# Example: `BIGQUERY_TEST_PROJECT=my-proj make test-types-bigquery`.
:
# Cloud validator: PG matrix → Parquet → Snowflake (real warehouse oracle).
# The CI guardian for the Snowflake resolver claims in src/types/target.rs —
# asserts INFER_SCHEMA autoload degradations + the recovery casts against a
# live account. Requires:
# - `snow` CLI on PATH (NOT `snowsql`).
# - SNOWFLAKE_TEST_CONNECTION env (the connection name). Optional:
# SNOWFLAKE_TEST_PRIVATE_KEY (absolute .p8 path if the connection's
# private_key_file uses a literal `~`), SNOWFLAKE_TEST_DATABASE / _SCHEMA.
# - docker-compose postgres for the source database.
# Example: `SNOWFLAKE_TEST_CONNECTION=rivet make test-types-snowflake`.
:
# Drop test-fixture tables left behind by INTERRUPTED live runs (a killed test
# process skips the RAII Drop guard, so the slow cloud suites can leak
# `<prefix>_<pid>_<counter>` tables into the shared `rivet` fixture DB). Safe
# anytime — only touches those fixtures, never the init.sql / seed.rs tables.
# Best-effort per engine: a down service is skipped. See dev/sweep-test-cruft.sh.
:
# Full live suite under nextest (per-test isolation), sweeping stale fixtures
# FIRST so an interrupted prior run never pollutes the shared `rivet` DB.
# Requires `docker compose up -d` (postgres + mysql + the validator containers).
: