Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

matrix256-corpus

License: CC BY 4.0 Build Docker Pulls Docker Image Size GHCR

Open-content optical disc ISOs bundled as a Docker image, for Tier 2 conformance testing of matrix256v1 implementations.

The two ISOs (Big Buck Bunny on Blu-ray, Sintel on DVD-Video) together come to ~11.5 GB. Pulling them once into an OCI image, then caching the layers in a registry, lets every CI run for every language implementation skip an ~11.5 GB download and instead pull the bytes from a fast registry mirror. Source-of-record bytes live on the Internet Archive — the Blender Foundation project pages don't host the disc-image form, so the ISOs were ripped from physical pressings and uploaded under their original CC-BY 3.0 license. The IA URLs are pinned in corpus.lock.json.

The image is data-only: it carries the verified ISOs at known paths and nothing else. Consumers loop-mount the ISOs in their own test environment.

Where this fits

The matrix256v1 conformance architecture has three tiers:

  • Tier 1 — synthetic fixtures. Constructed locally at test time. Defined in CONFORMANCE_FIXTURES.md. No external data.
  • Tier 2 — open-content discs. This image. Sintel + Big Buck Bunny, redistributable under CC-BY 3.0, fingerprints recorded in CORPUS.md entries 1 and 2.
  • Tier 3 — full corpus. Commercial pressings the implementer owns. Local-only.

This image satisfies Tier 2 only.

Image contents

Pulled from ghcr.io/shitwolfymakes/matrix256-corpus:

/corpus/
  big_buck_bunny.iso       # Blu-ray ISO
  sintel.iso               # DVD-Video ISO
  corpus.lock.json         # manifest with attribution, source URL, raw SHA-256, expected matrix256v1 digest

Tags:

  • latest — most recent build of main
  • sha-<short> — pinned to a specific commit
  • vN.N.N — published release (when tagged)

For reproducibility, pin a specific tag (sha-... or v...) in CI rather than latest.

Consuming the image

In a GitHub Actions workflow:

- name: Fetch matrix256 Tier 2 corpus
  run: |
    docker pull ghcr.io/shitwolfymakes/matrix256-corpus:latest
    id=$(docker create ghcr.io/shitwolfymakes/matrix256-corpus:latest)
    mkdir -p corpus
    docker cp "$id:/corpus/." ./corpus/
    docker rm "$id"

- name: Mount ISOs
  run: |
    sudo mkdir -p /mnt/sintel /mnt/bbb
    sudo mount -o loop,ro ./corpus/sintel.iso /mnt/sintel
    sudo mount -o loop,ro ./corpus/big_buck_bunny.iso /mnt/bbb

- name: Run matrix256 conformance
  run: |
    your-impl /mnt/sintel        # must produce ee3ac7007f0854a3...
    your-impl /mnt/bbb           # must produce 652e8189d14d260e...

The full per-ISO expected digest is in /corpus/corpus.lock.json inside the image.

Source of truth

corpus.lock.json is the manifest. Each entry pins:

  • the Internet Archive item page (for human discovery and license metadata)
  • the canonical download URL (https://archive.org/download/<item>/<file>.iso)
  • the raw-byte SHA-256 of the ISO (verified at build time, aborts the build on mismatch)
  • the expected matrix256v1 digest (matches the same disc's CORPUS.md physical-disc-mount entry; consumers assert against this value as their Tier 2 check)
  • license and attribution per CC-BY 3.0

The Dockerfile reads from corpus.lock.json so values are never duplicated. To upgrade an ISO (e.g., a re-rip with a different filesystem view), update the lock file; the next build picks it up.

Local build

docker build -t matrix256-corpus:dev .

The first build downloads ~11.5 GB; subsequent builds reuse the cached fetch layer unless corpus.lock.json changes. To verify the bytes, run any matrix256v1 implementation against a loop-mounted ISO and assert the digest matches corpus.lock.json — that's the same Tier 2 check consumers run, exercised against your local image.

Attribution

Both ISOs are licensed under CC-BY 3.0 by the Blender Foundation:

Per-ISO attribution is also embedded in corpus.lock.json and persists into the published image.

License

The contents of this repository (Dockerfile, lock file, scripts, documentation) are released under CC-BY 4.0. The bundled ISOs retain their original upstream licenses; redistribution must preserve attribution.

About

Open-content optical disc ISOs bundled for matrix256v1 Tier 2 conformance testing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages