Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 0 additions & 89 deletions .github/workflows/registry.yml

This file was deleted.

22 changes: 13 additions & 9 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,21 +333,25 @@ All agents working on this repository must verify their modifications by running
4. **Registry round trip** (requires Docker): the `#[ignore]`d suites that
spawn a real OCI registry
```bash
cargo test -p stelae --all-features --test oci -- --ignored --test-threads=1
cargo test -p dolos-snapshot --features oci --test publish -- --ignored --test-threads=1
cargo test -p dolos-snapshot --features oci --test restore_registry -- --ignored --test-threads=1
```

Each test spawns its own registry container via `docker run` and tears it
down on the way out; the suites are `#[ignore]`d so plain `cargo test`
stays green without a container runtime. Run them when touching
`crates/stelae/src/oci.rs`, the manifest shape, or `crates/snapshot`'s
registry publish/restore paths. `STELAE_TEST_REGISTRY_IMAGE` selects the
server; the `Registry` workflow (`.github/workflows/registry.yml` — its
own workflow, so the gate can travel with a future extraction of
`crates/stelae`) runs these suites on Linux (with `--nocapture`) against
`registry:2`, `registry:3` and a pinned `zot`, so the round trip against a
real registry never depends on someone remembering to run it.
stays green without a container runtime. Run them when touching the
stelae pin or `crates/snapshot`'s registry publish/restore paths;
`STELAE_TEST_REGISTRY_IMAGE` selects the server.

These are local verification tools, deliberately not a CI job here.
Registry interaction — transport and publish lifecycle — is implemented
by the stelae crates, so testing that integration in CI is
`github.com/txpipe/stelae`'s responsibility, and its `Registry` workflow
runs against `registry:2`, `registry:3` and a pinned `zot`. Dolos's test
subject is the profile, and the profile is transport-blind by
construction: the directory-transport suites in the workspace gate cover
it, and these two suites exist to double-check the composition when the
seam itself is in question.

### Code Quality Standards

Expand Down
9 changes: 4 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 5 additions & 14 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,6 @@ members = [
"crates/flatfiles",
"crates/mithril",
"crates/snapshot",
"crates/stelae",
"crates/stelae-driver",
"crates/testing",
"crates/minibf",
"crates/redb3",
Expand Down Expand Up @@ -262,19 +260,12 @@ opentelemetry_sdk = { version = "0.32.1", features = ["rt-tokio"] }
opentelemetry-otlp = { version = "0.32.0", features = ["grpc-tonic"] }
tracing-opentelemetry = "0.33"

# Stelae (crates/stelae). `minicbor` is pinned to the 0.26 line that Pallas
# already pulls in, so the protocol crate adds no new CBOR implementation to the
# tree and encodes against the same codec the Dolos profile will use.
# `minicbor` is pinned to the 0.26 line that Pallas already pulls in, so the
# Dolos profile (crates/snapshot) encodes against the same codec the stelae
# protocol crates do — the same pallas-alignment convention the stelae
# repository states in its own manifests. Moving this line is a
# byte-compatibility question, not a dependency bump.
minicbor = { version = "0.26", features = ["std"] }
serde_jcs = "0.2.0"
sha2 = "0.10.9"
zstd = "0.13.3"

# The restore path's disk preflight, and nothing else. `default-features =
# false` drops the file-locking half of the crate, leaving the free-space
# query, which is a `statvfs`/`GetDiskFreeSpaceExW` call over `rustix` and
# `windows-sys` — both already in this tree.
fs4 = { version = "1.1.0", default-features = false }

[workspace.metadata.release]
push = false
Expand Down
Loading
Loading