From 38a309f9f275447ee94b8c6396b3fffa4635badc Mon Sep 17 00:00:00 2001 From: Rick <1450685+LinuxSuRen@users.noreply.github.com> Date: Mon, 20 May 2024 13:58:11 +0800 Subject: [PATCH] chore: cp atest to the desktop dir (#445) Co-authored-by: rick --- .github/workflows/build.yaml | 14 +++++++++----- .github/workflows/release.yaml | 11 +++++++++++ tools/make/desktop.mk | 11 ++++++++--- tools/make/golang.mk | 6 +++++- tools/make/run.mk | 25 +++++++++++++++++++++++-- tools/make/ui.mk | 3 +-- 6 files changed, 57 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5554b35..f9ed161 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -140,9 +140,13 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.11.4' - - name: Build Desktop + - name: Build Desktop on Windows + if: runner.os == 'Windows' + env: + BINARY: atest.exe run: | - cd console/atest-desktop - npm i - npm run package - npm run make + make desktop-package desktop-make + - name: Build Desktop + if: runner.os != 'Windows' + run: | + make desktop-package desktop-make diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d93c6fb..89f8cdc 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -121,6 +121,7 @@ jobs: strategy: fail-fast: false matrix: + # see https://github.com/actions/runner-images os: [ubuntu-latest, windows-latest, macos-latest, macos-13] runs-on: ${{ matrix.os }} steps: @@ -130,6 +131,16 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18.x + - name: Build Server on Windows + if: runner.os == 'Windows' + env: + BINARY: atest.exe + run: | + make desktop-package + - name: Build Server + if: runner.os != 'Windows' + run: | + make desktop-package # for fixing Error: Cannot find module 'appdmg' - name: Install Python 3.11.4 uses: actions/setup-python@v4 diff --git a/tools/make/desktop.mk b/tools/make/desktop.mk index 9f6ef31..e2b4702 100644 --- a/tools/make/desktop.mk +++ b/tools/make/desktop.mk @@ -10,6 +10,11 @@ desktop-start: cd console/atest-desktop && npm run start desktop-package: ## Package Electron Desktop -desktop-package: build.embed.ui - cp ${OUTPUT_DIR}/${BINARY} console/atest-desktop - cd console/atest-desktop && npm run package +desktop-package: build.embed.ui copy-to-desktop + cd console/atest-desktop && npm i && npm run package + +desktop-make: build.embed.ui ## Make an Electron Desktop + cd console/atest-desktop && npm i && npm run make + +desktop-publish: build.embed.ui ## Publish the Electron Desktop + cd console/atest-desktop && npm i && npm run publish diff --git a/tools/make/golang.mk b/tools/make/golang.mk index b2f94c4..5cc6d5c 100644 --- a/tools/make/golang.mk +++ b/tools/make/golang.mk @@ -10,7 +10,11 @@ GO_FLAGS += \ -X github.com/linuxsuren/api-testing/pkg/version.date=$(shell date +%Y-%m-%d) # Binary file name -BINARY ?= atest +ifeq ($(PLATFORM),windows) + BINARY ?= atest.exe +else + BINARY ?= atest +endif GOPATH := $(shell go env GOPATH) ifeq ($(origin GOBIN), undefined) diff --git a/tools/make/run.mk b/tools/make/run.mk index c24c60a..564d783 100644 --- a/tools/make/run.mk +++ b/tools/make/run.mk @@ -18,10 +18,31 @@ run-console: ## Run the API Testing console run-console: cd ${ATEST_UI} && ${FRONT_RUNTIMES} run dev +.PHONY: copy.% +copy.%: + @$(LOG_TARGET) + $(eval PLATFORM := $(word 1,$(subst ., ,$*))) + $(eval OS := $(word 1,$(subst _, ,$(PLATFORM)))) + $(eval ARCH := $(word 2,$(subst _, ,$(PLATFORM)))) + @$(call log, "Building binary $(BINARY) for $(OS)-$(ARCH).") + sudo cp $(OUTPUT_DIR)/$(OS)/$(ARCH)/${BINARY} /usr/local/bin/ + .PHONY: copy copy: ## Copy the binary to /usr/local/bin -copy: - sudo cp $(OUTPUT_DIR)/$(OS)/$(ARCH)/${BINARY} /usr/local/bin/ +copy: $(addprefix copy., $(addprefix $(PLATFORM)., $(BINARY))) + +.PHONY: copy-to-desktop.% +copy-to-desktop.%: + $(eval PLATFORM := $(word 1,$(subst ., ,$*))) + $(eval OS := $(word 1,$(subst _, ,$(PLATFORM)))) + $(eval ARCH := $(word 2,$(subst _, ,$(PLATFORM)))) + @$(call log, "Building binary $(BINARY) for $(OS)-$(ARCH).") + cp $(OUTPUT_DIR)/$(OS)/$(ARCH)/${BINARY} console/atest-desktop + + +.PHONY: copy-to-desktop +copy-to-desktop: ## Copy the binary to console/atest-desktop +copy-to-desktop: $(addprefix copy-to-desktop., $(addprefix $(PLATFORM)., $(BINARY))) .PHONY: copy-restart copy-restart: ## Copy the binary to /usr/local/bin and restart the service diff --git a/tools/make/ui.mk b/tools/make/ui.mk index 91f6285..23c6449 100644 --- a/tools/make/ui.mk +++ b/tools/make/ui.mk @@ -16,8 +16,7 @@ build.ui: .PHONY: build.embed.ui build.embed.ui: embed.ui - GOOS=${GOOS} go build -a -ldflags "${BUILD_FLAGS}" -o $(OUTPUT_DIR)/$(OS)/$(ARCH)/${BINARY} ${ROOT_PACKAGE}/main.go - make clean.embed.ui + make build clean.embed.ui .PHONY: embed.ui embed.ui: