release.md raw

Release Command

Review all changes in the repository and create a release with proper commit message, version tag, and push to remotes.

Argument: $ARGUMENTS

The argument should be one of:

If no argument provided, default to patch.

Steps to perform:

  1. Read the current version from pkg/version/version
  1. Calculate the new version based on the argument:

- Parse the current version (format: vMAJOR.MINOR.PATCH) - If patch: increment PATCH by 1 - If minor: increment MINOR by 1, set PATCH to 0

  1. Update the version file (pkg/version/version) with the new version
  1. Rebuild the embedded web UI by running:

` ./scripts/update-embedded-web.sh ` This ensures the latest web UI changes are included in the release.

  1. Review changes using git status and git diff --stat HEAD
  1. Compose a commit message following this format:

- First line: 72 chars max, imperative mood summary - Blank line - Bullet points describing each significant change - "Files modified:" section listing affected files - Footer with Claude Code attribution

  1. Stage all changes with git add -A
  1. Create the commit with the composed message
  1. Create a git tag with the new version (e.g., v0.36.0)
  1. Push to origin with tags:

` git push origin main --tags `

  1. Deploy monolithic binary to relay.orly.dev (ARM64):

Build and deploy the unified orly binary - a fully self-contained relay with all components embedded: - Embedded Badger/Neo4j database - Embedded ACL engine (follows, managed, curating modes) - Embedded NIP-77 negentropy sync - All subcommands (db, acl, relay) for split-mode if needed

Build on remote (faster than uploading cross-compiled binary due to slow local bandwidth): `bash ssh relay.orly.dev 'cd ~/src/next.orly.dev && git pull origin main && GOPATH=$HOME CGO_ENABLED=0 ~/go/bin/go build -o ~/.local/bin/orly ./cmd/orly' ssh root@relay.orly.dev '/usr/sbin/setcap capnetbind_service=+ep /home/mleku/.local/bin/orly && systemctl restart orly' ssh relay.orly.dev '~/.local/bin/orly version' `

Note: setcap must be re-applied after each binary rebuild to allow binding to ports 80/443. This is the recommended binary - just run orly for a complete monolithic relay, or use subcommands (orly db, orly acl) for split-mode architecture.

  1. Report completion with the new version and commit hash

Important: