2.1 KiB
Development Flow
This monorepo is developed on Forgejo at jojo.build. Codeberg is a push mirror, and GitHub is used only when npm trusted publishing needs its workflow.
Remotes
Use Forgejo as the normal development remote:
git remote -v
# origin git@jojo.build:peezy-tech/codex-flows.git
# codeberg git@codeberg.org:peezy-tech/codex-flows.git
# github https://github.com/peezy-tech/codex-flows.git
Push ordinary development to Forgejo:
git push origin main
Forgejo should push-mirror main to Codeberg. The local codeberg remote is kept for diagnostics and manual recovery.
Push to GitHub only when a release needs the trusted publishing workflow:
git push github main
Machine Keys
This machine uses dedicated Forgejo and Codeberg SSH keys:
~/.ssh/id_ed25519_jojo_build.pub
~/.ssh/id_ed25519_codeberg.pub
The public GPG key for commit verification is exported here:
~/.config/forgejo-keys/matamune-jojo-build-gpg.asc
Upload the Forgejo SSH and GPG public keys to the jojo.build account before pushing over SSH or expecting verified commits. Keep the Codeberg SSH key available for mirror diagnostics.
Forgejo CLI
forgejo-cli is installed as fj.
Authenticate with jojo.build after creating an application token:
fj --host jojo.build auth add-key <forgejo-username> <token>
fj --host jojo.build auth use-ssh true
fj --host jojo.build auth list
If browser login is available, this may also work:
fj auth login
fj auth use-ssh true
Releases
Release package: @peezy.tech/codex-flows
Before publishing:
bun run --filter @peezy.tech/codex-flows release:check
bun run check:types
bun run test
git diff --check
To publish through GitHub trusted publishing:
- Bump
packages/codex-client/package.json. - Commit and push to Forgejo.
- Confirm the Codeberg mirror has received the commit.
- Push the same commit to GitHub.
- Run
.github/workflows/publish-codex-flows.ymlon GitHub with confirmation input@peezy.tech/codex-flows. - Verify npm:
npm dist-tag ls @peezy.tech/codex-flows