mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-24 19:12:53 +08:00
93 lines
2.5 KiB
Makefile
93 lines
2.5 KiB
Makefile
OS = darwin linux windows
|
|
ARCH = amd64 arm64
|
|
WEB := $(shell cd yyetsweb;pwd)
|
|
DATE:=$(shell date +"%Y-%m-%d %H:%M:%S")
|
|
update:
|
|
git pull
|
|
git submodule update --remote
|
|
|
|
docker-dev:
|
|
make update
|
|
docker build --build-arg env=dev -t bennythink/yyetsbot .
|
|
docker-compose up -d
|
|
|
|
docker:
|
|
# production configuration
|
|
cp .env YYeTsFE/.env
|
|
# docker buildx create --use --name mybuilder
|
|
docker buildx build --platform=linux/amd64,linux/arm64 -t bennythink/yyetsbot . --push
|
|
|
|
|
|
clean:
|
|
docker rmi bennythink/yyetsbot:latest || true
|
|
rm -rf YYeTsFE/build
|
|
rm -rf YYeTsFE/dist
|
|
|
|
@rm -rf yyetsweb/builds
|
|
@rm -f yyetsweb/assets.go
|
|
|
|
current:
|
|
echo "Installing dependencies..."
|
|
cd $(WEB);go get -u github.com/go-bindata/go-bindata/...
|
|
echo "Build static files..."
|
|
make asset
|
|
echo "Build current platform executable..."
|
|
cd $(WEB); go build .;
|
|
|
|
asset:
|
|
cd $(WEB);go get -u github.com/go-bindata/go-bindata/... ;go install github.com/go-bindata/go-bindata/...
|
|
cd $(WEB)/templates;~/go/bin/go-bindata -o assets.go ./...
|
|
mv yyetsweb/templates/assets.go yyetsweb/assets.go
|
|
|
|
frontend:
|
|
cd YYeTsFE; yarn && yarn run release
|
|
cp -R YYeTsFE/build/* yyetsweb/templates/
|
|
|
|
all:
|
|
make clean
|
|
make frontend
|
|
make asset
|
|
@echo "Build all platform executables..."
|
|
@for o in $(OS) ; do \
|
|
for a in $(ARCH) ; do \
|
|
echo "Building $$o-$$a..."; \
|
|
if [ "$$o" = "windows" ]; then \
|
|
cd $(WEB);CGO_ENABLED=0 GOOS=$$o GOARCH=$$a go build -ldflags="-s -w -X 'main.buildTime=$(DATE)'" -o builds/yyetsweb-$$o-$$a.exe .; \
|
|
else \
|
|
cd $(WEB);CGO_ENABLED=0 GOOS=$$o GOARCH=$$a go build -ldflags="-s -w -X 'main.buildTime=$(DATE)'" -o builds/yyetsweb-$$o-$$a .; \
|
|
fi; \
|
|
done \
|
|
done
|
|
|
|
@make universal
|
|
@make checksum
|
|
|
|
|
|
checksum: yyetsweb/builds/*
|
|
@echo "Generating checksums..."
|
|
if [ "$(shell uname)" = "Darwin" ]; then \
|
|
shasum -a 256 $^ >> $(WEB)/builds/checksum-sha256sum.txt ;\
|
|
else \
|
|
sha256sum $^ >> $(WEB)/builds/checksum-sha256sum.txt; \
|
|
fi
|
|
|
|
|
|
universal:
|
|
@echo "Building macOS universal binary..."
|
|
docker run --rm -v $(WEB)/builds:/app/ bennythink/lipo-linux -create -output \
|
|
yyetsweb-darwin-universal \
|
|
yyetsweb-darwin-amd64 yyetsweb-darwin-arm64
|
|
|
|
file $(WEB)/builds/yyetsweb-darwin-universal
|
|
|
|
release:
|
|
git tag $(shell git rev-parse --short HEAD)
|
|
git push --tags
|
|
|
|
|
|
ci-test:
|
|
docker run --rm bennythink/yyetsbot /bin/sh -c "cd /YYeTsBot/yyetsweb/tests;python -m unittest discover -p '*_test.py'"
|
|
|
|
test:
|
|
cd $(WEB)/tests;python -m unittest discover -p '*_test.py'
|