mirror of
https://github.com/hanzoai/social.git
synced 2026-10-17 11:18:21 +00:00
A social publishing surface on @hanzo/gui + @hanzo/ui, written against the platform's own /v1/social and /v1/integration. Six screens: the org roll-up, a composer, the posts in every state, a month calendar, the networks with their consent and their handles, and the delivery record. Two facts shape it. A post carries one channel, so the composer stores one post per network — which is also what makes writing separately for a single network free, since it is a different content on that row. Media is a list of addresses, so a video is ordinary content rather than a second kind of post, and each network's own rules are checked before the post is stored rather than discovered at a publish hours later. State is drawn in luminance on a palette with no hues, and the inversion is spent once per screen on the thing a person has to act on. Refusals are the platform's own sentence, read off the RFC 7807 detail the SDK's extractor drops — a 503 that names the missing credentials is the whole of what anyone can act on. Co-authored-by: Hanzo Dev <[email protected]>
34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
# Hanzo CI/CD — social. All real config is here; .hanzo/workflows/cicd.yml is
|
|
# triggers and an import of hanzoai/ci.
|
|
|
|
test:
|
|
# Frozen, so the gate resolves the same tree the Dockerfile does. The lockfile
|
|
# ships, and a stale one fails here rather than silently building something
|
|
# else.
|
|
- name: install
|
|
run: |
|
|
set -e
|
|
corepack enable
|
|
pnpm install --frozen-lockfile
|
|
|
|
# Verbatim the build line the image runs, run before there is an image, so a
|
|
# break arrives in a minute instead of after a full layer stack. `pnpm build`
|
|
# is `tsc --noEmit` then `vite build`. A vite build that emits nothing still
|
|
# exits 0, hence the file tests.
|
|
- name: build
|
|
run: |
|
|
set -e
|
|
pnpm build
|
|
test -s dist/index.html
|
|
test -d dist/assets
|
|
|
|
images:
|
|
- name: social
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
repo: ghcr.io/hanzoai/social
|
|
platforms: [linux/amd64]
|
|
# No build_secrets, and none belong here. Every credential that names a
|
|
# person is minted by hanzo.id at sign-in; every credential that names a
|
|
# network is sealed in KMS and read only by the publisher, server-side.
|