diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0731b6e..d2b7577 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,6 +48,8 @@ jobs: tar -czvf baihu-linux-amd64.tar.gz baihu-linux-amd64 CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -tags web -ldflags="$LDFLAGS" -o baihu-linux-arm64 main.go tar -czvf baihu-linux-arm64.tar.gz baihu-linux-arm64 + CGO_ENABLED=0 GOOS=android GOARCH=arm64 go build -trimpath -tags web -ldflags="$LDFLAGS" -o baihu-android-arm64 main.go + tar -czvf baihu-android-arm64.tar.gz baihu-android-arm64 - name: Build Agent Binaries run: | @@ -97,6 +99,7 @@ jobs: files: | baihu-linux-amd64.tar.gz baihu-linux-arm64.tar.gz + baihu-android-arm64.tar.gz data/agent/baihu-agent-*.tar.gz data/agent/baihu-agent-*.zip diff --git a/Makefile b/Makefile index a22a07a..8fc3b6b 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,14 @@ release: cp -r web/dist internal/static/dist CGO_ENABLED=0 $(GOBUILD) $(LDFLAGS) $(TAGS_WEB) -o $(BINARY) main.go +# Build release version for Android Termux +release-android: + cd web && npm ci && npm run build + @mkdir -p bin + rm -rf internal/static/dist + cp -r web/dist internal/static/dist + CGO_ENABLED=0 GOOS=android GOARCH=arm64 $(GOBUILD) -trimpath $(LDFLAGS) $(TAGS_WEB) -o bin/baihu-android-arm64 main.go + # Build release version (Frontend + Backend with embedded assets) release-binary: cd web && npm ci && VITE_RELEASE_OPTIMIZE=true npm run build @@ -72,7 +80,7 @@ release-binary: build-all: release # Build agent for all platforms -build-agent: build-agent-linux-amd64 build-agent-linux-arm64 build-agent-windows-amd64 build-agent-darwin-amd64 build-agent-darwin-arm64 +build-agent: build-agent-linux-amd64 build-agent-linux-arm64 build-agent-android-arm64 build-agent-windows-amd64 build-agent-darwin-amd64 build-agent-darwin-arm64 @echo "All agent packages built in data/agent/" @ls -lh data/agent/baihu-agent-* @@ -88,6 +96,11 @@ build-agent-linux-arm64: @echo "$(VERSION)" > data/agent/version.txt cd agent && CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="$(AGENT_LDFLAGS)" -o ../data/agent/baihu-agent-linux-arm64 . +build-agent-android-arm64: + @mkdir -p data/agent + @echo "$(VERSION)" > data/agent/version.txt + cd agent && CGO_ENABLED=0 GOOS=android GOARCH=arm64 go build -trimpath -ldflags="$(AGENT_LDFLAGS)" -o ../data/agent/baihu-agent-android-arm64 . + build-agent-windows-amd64: @mkdir -p data/agent @echo "$(VERSION)" > data/agent/version.txt diff --git a/docker/Dockerfile b/docker/Dockerfile index 6cc9b6d..9fbbb23 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -117,6 +117,7 @@ RUN --mount=type=cache,target=/go/pkg/mod \ } && \ build_agent linux amd64 "" && \ build_agent linux arm64 "" && \ + build_agent android arm64 "" && \ build_agent darwin amd64 "" && \ build_agent darwin arm64 "" && \ echo "Agent build completed for all platforms" diff --git a/docker/Dockerfile.minimal b/docker/Dockerfile.minimal index 77ee9de..652d33e 100644 --- a/docker/Dockerfile.minimal +++ b/docker/Dockerfile.minimal @@ -100,6 +100,7 @@ RUN VERSION_VAL=$(cat /build-info/version.txt) && \ } && \ build_agent linux amd64 "" && \ build_agent linux arm64 "" && \ + build_agent android arm64 "" && \ build_agent darwin amd64 "" && \ build_agent darwin arm64 ""