From ac5a5a3e0c2e59edce92bde4e7e4eb987bbd6e80 Mon Sep 17 00:00:00 2001 From: lanthora Date: Sat, 23 Nov 2024 12:38:45 +0800 Subject: [PATCH] ci: add makefile --- .github/workflows/check.yml | 13 +------------ .github/workflows/publish.yml | 13 +------------ .gitignore | 1 + Makefile | 25 +++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 Makefile diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 9d66dc2..72ed857 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -14,20 +14,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: latest - - name: build frontend - working-directory: frontend - run: | - npm install - npm run build - name: setup go uses: actions/setup-go@v5 with: go-version: "stable" - name: compile - run: | - GOOS=linux GOARCH=amd64 go build -ldflags '-w -s' -o cacao-linux-amd64 - GOOS=linux GOARCH=arm64 go build -ldflags '-w -s' -o cacao-linux-arm64 - GOOS=linux GOARCH=arm GOARM=7 go build -ldflags '-w -s' -o cacao-linux-armv7 - GOOS=freebsd GOARCH=amd64 go build -ldflags '-w -s' -o cacao-freebsd-amd64 - env: - CGO_ENABLED: 0 + run: make all diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d710f7f..65a7686 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,23 +15,12 @@ jobs: uses: actions/setup-node@v4 with: node-version: latest - - name: build frontend - working-directory: frontend - run: | - npm install - npm run build - name: setup go uses: actions/setup-go@v5 with: go-version: "stable" - name: compile - run: | - GOOS=linux GOARCH=amd64 go build -ldflags '-w -s' -o cacao-linux-amd64 - GOOS=linux GOARCH=arm64 go build -ldflags '-w -s' -o cacao-linux-arm64 - GOOS=linux GOARCH=arm GOARM=7 go build -ldflags '-w -s' -o cacao-linux-armv7 - GOOS=freebsd GOARCH=amd64 go build -ldflags '-w -s' -o cacao-freebsd-amd64 - env: - CGO_ENABLED: 0 + run: make all - name: artifact uses: actions/upload-artifact@v4 with: diff --git a/.gitignore b/.gitignore index 8a39a0e..8f407d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ cacao +cacao-* sqlite.db cookie *.mmdb diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c950ffd --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +GOBUILD = env CGO_ENABLED=0 go build -trimpath -ldflags '-w -s' -o cacao + +default: cacao + +all: linux-amd64 linux-arm64 linux-armv7 freebsd-amd64 + +frontend: + cd frontend && npm run build || (npm install && npm run build) + +cacao: frontend + $(GOBUILD) + +linux-amd64: frontend + GOOS=linux GOARCH=amd64 $(GOBUILD)-$@ + +linux-arm64: frontend + GOOS=linux GOARCH=arm64 $(GOBUILD)-$@ + +linux-armv7: frontend + GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD)-$@ + +freebsd-amd64: frontend + GOOS=freebsd GOARCH=amd64 $(GOBUILD)-$@ + +.PHONY: default all frontend cacao linux-amd64 linux-arm64 linux-armv7 freebsd-amd64