Commit graph

18 commits

Author SHA1 Message Date
美電球
fa68023ac2
Merge branch 'refactor/channel-system' into main 2026-02-27 20:04:08 +08:00
Guoguo
a5c8179fa8
chore(docker): reorganize docker files and add first-run entrypoint (#812)
* chore(docker): move Dockerfile into docker/ directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(docker): add entrypoint script to goreleaser Dockerfile

- entrypoint.sh: on first run (config and workspace both absent) runs
  picoclaw onboard then exits for the user to configure; subsequent
  starts exec picoclaw gateway directly
- Dockerfile.goreleaser: copy and use entrypoint.sh, run as root
- .goreleaser.yaml: update dockerfile path, add entrypoint.sh to
  extra_files so it is included in the docker build context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(docker): update docker-compose to use pre-built image and bind mount

- Use docker.io/sipeed/picoclaw:latest instead of building locally
- Replace named volume with bind mount ./data:/root/.picoclaw
- Move docker-compose.yml into docker/ directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: update Docker Compose section to reflect new docker/ layout

- Use docker compose -f docker/docker-compose.yml for all commands
- Update setup flow: first run generates docker/data/config.json,
  container exits, user edits config, then restarts
- Replace "Rebuild" section with "Update" (docker pull) since the
  compose file now uses the pre-built sipeed/picoclaw image
- Apply same changes to README.zh.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(docker): use restart: on-failure to prevent restart after first-run setup

unless-stopped restarts the container regardless of exit code, causing
an infinite loop when entrypoint exits 0 after the initial onboard.
on-failure only restarts on non-zero exit (i.e. crashes), so the
container stays stopped after setup until the user restarts it manually.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: sync Docker Compose section across all language READMEs

Apply the same updates as the English/Chinese READMEs:
- Use docker compose -f docker/docker-compose.yml for all commands
- Update setup flow to first-run auto-config pattern
- Replace build/rebuild section with update via docker pull
- Affected: README.fr.md, README.ja.md, README.pt-br.md, README.vi.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 10:10:17 +08:00
Guoguo
6a4116b8a0
ci: fix go generate not running in subdirectories (#807)
Changed `go generate ./cmd/picoclaw` to `go generate ./cmd/picoclaw/...`
so that the workspace embed in cmd/picoclaw/internal/onboard is correctly
generated before building.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 19:03:58 +11:00
Guoguo
a5cc4db514
ci: remove version from rpm and deb file name (#804)
Signed-off-by: Guoguo <i@qwq.trade>
2026-02-26 14:53:10 +08:00
daming大铭
f24407672b
Merge pull request #768 from avaksru/main
add support for 32-bit ARM (ARMv7) builds
2026-02-26 11:49:08 +08:00
avaksru
162f38cd4f
fix Code Review: PR #768 2026-02-25 16:29:04 +03:00
Guoguo
974337f4ab ci: add rpm and deb support in goreleaser
Signed-off-by: Guoguo <i@qwq.trade>
2026-02-25 16:32:40 +08:00
Guoguo
43611e2c4e ci: add loongarch64, remove s390x and mips64 support in goreleaser
Signed-off-by: Guoguo <i@qwq.trade>
2026-02-25 16:32:40 +08:00
avaksru
a527976e68
Restore dockers_v2 configuration for picoclaw
Re-enable dockers_v2 configuration for picoclaw with specified details.
2026-02-25 11:01:33 +03:00
Ruslan Semagin
73f27803d4
refactor(cli): migrate to Cobra-based command structure (#429)
* refactor(cli): migrate to Cobra-based command structure

Refactor CLI to use Cobra instead of manual os.Args parsing.

- Introduce root command and structured subcommands under cmd/picoclaw/internal
- Convert agent, auth, cron, gateway, migrate, onboard, skills, status and version to Cobra commands
- Replace manual flag parsing with Cobra flags
- Remove direct os.Args usage from command handlers
- Keep existing command behavior and output semantics

This change focuses on CLI structure and maintainability.
No business logic changes intended.

* chore(cli): remove version2 alias and make cobra a direct dependency

* test(cli): add basic command tests

- Add tests for CLI command tree and flag parsing
- Align LDFLAGS injection path for version info
- Remove unused manual help function

* test: migrate command tests to testify assertions

Replace standard library testing error checks (t.Error*, t.Fatalf)
with assert/require from stretchr/testify across all cobra command tests
for improved readability and consistency.

* fix(cli): make linter happy

* test: avoid duplication in windows config path test

* test: simplify allowed command checks using slices.Contains

* fix(skills): register subcommands during command construction

- Move subcommand registration out of PersistentPreRunE
- Ensure `picoclaw skills <subcommand>` resolves correctly
- Minor install command and test cleanups

* refactor(cli): address review feedback and improve command clarity

* fix(authLogoutCmd): rm os.Exit
2026-02-25 18:47:45 +11:00
avaksru
85276057a0
Disable dockers_v2 section in goreleaser config
Comment out dockers_v2 configuration in .goreleaser.yaml
2026-02-25 10:32:50 +03:00
avaksru
14cb16f113
Add goarm versions for ARM architecture in config 2026-02-25 10:02:15 +03:00
Aditya Kalro
c1ed163e77 Added a native WhatsApp channel implementation. 2026-02-22 12:29:27 -08:00
Boris Bliznioukov
2d876eaa98
feat(goreleaser): enhance build flags with versioning and commit info
Signed-off-by: Boris Bliznioukov <blib@mail.com>
2026-02-17 15:00:06 +01:00
Boris Bliznioukov
2d758d714f
feat(goreleaser): add 'stdjson' tag to picoclaw build configuration
Signed-off-by: Boris Bliznioukov <blib@mail.com>
2026-02-17 14:55:37 +01:00
Guoguo
a5503aea36
build: temporary disable UPX compression (#257)
Signed-off-by: Guoguo <i@qwq.trade>
2026-02-16 11:29:04 +08:00
Guoguo
0d18210803
ci: use goreleaser to release docker and binary (#180)
Signed-off-by: Guoguo <i@qwq.trade>
2026-02-16 10:35:31 +08:00
Meng Zhuo
9a3f3611c3 ci: init goreleaser 2026-02-15 09:54:32 +08:00