Files
ngit-grasp/.ngit/containers.yaml
DanConwayDev 5fed50e5e3 ci(release): publish OCI container images
Motivation: Release images should be built, checked, published, and consumed through the same Nostr-native OCI path operators will use, without relying on an unreviewed local release procedure.

Approach: Add a checked-in container manifest, a Docker-to-OCI layout helper, automatic tag publication and pull verification, a safe exact-tag backfill workflow, and deployment CI that imports and runs the exact generated layout.

Correctness: Release tags come only from reviewed OCI index annotations; ordinary publication preserves prior tags; historical backfills cannot move latest or prerelease channels; generated images and temporary resources use bounded, validated names and cleanup.

Excluded scope: This change does not alter ngit-grasp runtime behavior, change package versions, create v3.0.2, publish a container, move a release tag, or run the heavyweight container build in the coding VM.

Validation: git diff --check; shellcheck on all container scripts; actionlint on all affected workflows; ngit parsing of .ngit/containers.yaml; canonical source and v3.0.1 tag resolution. The PR pipeline performs the full OCI build, import, and deployment test.

Assisted-by: Codex (GPT-5)
2026-09-10 15:30:13 +00:00

18 lines
489 B
YAML

schema: 1
publication:
blossom_servers:
- https://blossom.primal.net
- https://blossom.ditto.pub
- https://haven.danconwaydev.com
relays:
- wss://relay.zapstore.dev
- wss://relay.ditto.pub
- wss://relay.dreamith.to
- wss://relay.primal.net
containers:
ngit-grasp:
layout: artifacts/ngit-grasp
title: ngit-grasp
description: A self-hostable Nostr relay and Git server for decentralized repositories.
source: https://ngit.dev/ngit-grasp.git