Compare commits
3 commits
3d73e02d6b
...
25353f548d
| Author | SHA1 | Date | |
|---|---|---|---|
| 25353f548d | |||
| cd95974e48 | |||
| 11cf5aa0cf |
4 changed files with 49 additions and 13 deletions
|
|
@ -26,13 +26,30 @@ PR contract in `upstream-prs/`. See the lnbits-sensei README's
|
||||||
|
|
||||||
## Quick commands
|
## Quick commands
|
||||||
|
|
||||||
- `dev up [--fakewallet|--regtest]` — start the lnbits dev server.
|
Installed by lnbits-sensei's dev-env module — standalone binaries plus
|
||||||
Default `--fakewallet` is instant, no docker, good for
|
shell functions sourced into interactive shells:
|
||||||
extension/UI/API work.
|
|
||||||
- `dev down` / `dev logs` / `dev shell` — control / inspect.
|
- `dev-env-bootstrap` — materialize bare repos + worktrees from your
|
||||||
- *(planned)* `prb <repo> <branch>` — create a PR worktree branched
|
declared `projects` (idempotent; `--dry-run` to preview).
|
||||||
from `upstream/main` under `~/dev/upstream-prs/`.
|
- `lb <worktree>` — cd into `~/dev/lnbits/<worktree>` (e.g. `lb dev`).
|
||||||
- *(planned)* `lb <worktree>` — cd shortcut into `~/dev/lnbits/<worktree>`.
|
`g <category> <repo>`, `ext <name>`, `prs`, `shared`, `repos` cover
|
||||||
|
the rest of the tree.
|
||||||
|
- `prb <repo> <branch>` — create a PR worktree branched from
|
||||||
|
`upstream/main` under `~/dev/upstream-prs/`; `prc` cleans up, `prl`
|
||||||
|
lists.
|
||||||
|
- `dev-status` — dirty + ahead/behind across every worktree. `wts` /
|
||||||
|
`wtu` sync worktrees / fetch upstream; `rebase status` shows which
|
||||||
|
forks need rebasing onto upstream.
|
||||||
|
- `regtest-start <worktree>` / `regtest-stop` — Bitcoin/Lightning
|
||||||
|
regtest stack (only when `devEnv.regtest.enable = true`; needs docker).
|
||||||
|
- `dev-deploy <host>` — `nixos-rebuild` against your deploy flake.
|
||||||
|
`dev-tm <session>` — launch a declarative tmux session.
|
||||||
|
|
||||||
|
**Starting lnbits for iteration:** there is no `dev up` wrapper.
|
||||||
|
FakeWallet (`LNBITS_BACKEND_WALLET_CLASS=FakeWallet`) is the default
|
||||||
|
path — no docker; run lnbits directly from the worktree (`lb dev`, then
|
||||||
|
lnbits's own run command). Use `regtest-start` only when you need real
|
||||||
|
channels/payments.
|
||||||
|
|
||||||
## Reference docs
|
## Reference docs
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,9 +70,19 @@ Full reference: `docs/lnbits-upstream-flow.md`.
|
||||||
|
|
||||||
## Default dev workflow
|
## Default dev workflow
|
||||||
|
|
||||||
|
There is no `dev up` wrapper. Start lnbits directly from a worktree:
|
||||||
|
|
||||||
```
|
```
|
||||||
dev up # FakeWallet, instant
|
lb dev # cd ~/dev/lnbits/dev
|
||||||
dev up --regtest # multi-node regtest (slower boot, real channels)
|
LNBITS_BACKEND_WALLET_CLASS=FakeWallet <lnbits run command> # instant, no docker
|
||||||
|
```
|
||||||
|
|
||||||
|
For real channels/payments, use the regtest stack (gated on
|
||||||
|
`devEnv.regtest.enable`; needs docker):
|
||||||
|
|
||||||
|
```
|
||||||
|
regtest-start dev # build lnbits from ~/dev/lnbits/dev, bring the stack up
|
||||||
|
regtest-stop
|
||||||
```
|
```
|
||||||
|
|
||||||
Use **FakeWallet** for extension CRUD / UI / API work. Spin up
|
Use **FakeWallet** for extension CRUD / UI / API work. Spin up
|
||||||
|
|
|
||||||
|
|
@ -113,8 +113,17 @@ git-pr-cleanup() {
|
||||||
git -C "$bare_repo" worktree remove "$pr_path"
|
git -C "$bare_repo" worktree remove "$pr_path"
|
||||||
|
|
||||||
echo "Deleting branch: $branch_name"
|
echo "Deleting branch: $branch_name"
|
||||||
git -C "$bare_repo" branch -d "$branch_name" 2>/dev/null \
|
if ! git -C "$bare_repo" branch -d "$branch_name" 2>/dev/null; then
|
||||||
|| git -C "$bare_repo" branch -D "$branch_name"
|
echo " Branch '$branch_name' is not fully merged."
|
||||||
|
read -r -p " Force-delete it (unmerged commits will be lost)? [y/N] " -n 1 REPLY
|
||||||
|
echo
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
git -C "$bare_repo" branch -D "$branch_name"
|
||||||
|
else
|
||||||
|
echo " Kept branch '$branch_name' (worktree already removed)."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@ cleanup_backups() {
|
||||||
local deleted=0
|
local deleted=0
|
||||||
while IFS=: read -r path _; do
|
while IFS=: read -r path _; do
|
||||||
cd "$path" || continue
|
cd "$path" || continue
|
||||||
git branch --list "backup/*" 2>/dev/null | while read -r branch; do
|
while read -r branch; do
|
||||||
branch="$(echo "$branch" | tr -d ' *')"
|
branch="$(echo "$branch" | tr -d ' *')"
|
||||||
local bdate
|
local bdate
|
||||||
bdate="$(echo "$branch" | grep -oE '[0-9]{8}' | head -1)"
|
bdate="$(echo "$branch" | grep -oE '[0-9]{8}' | head -1)"
|
||||||
|
|
@ -319,7 +319,7 @@ cleanup_backups() {
|
||||||
|| { [[ -n "$bdate" ]] && [[ "$bdate" < "$cutoff" ]]; }; then
|
|| { [[ -n "$bdate" ]] && [[ "$bdate" < "$cutoff" ]]; }; then
|
||||||
git branch -D "$branch" 2>/dev/null && deleted=$((deleted + 1)) || true
|
git branch -D "$branch" 2>/dev/null && deleted=$((deleted + 1)) || true
|
||||||
fi
|
fi
|
||||||
done
|
done < <(git branch --list "backup/*" 2>/dev/null)
|
||||||
done < <(find_forked_repos)
|
done < <(find_forked_repos)
|
||||||
success "Deleted $deleted backup branch(es)."
|
success "Deleted $deleted backup branch(es)."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue