mirror of
https://github.com/kopia/kopia.git
synced 2025-12-23 22:57:50 -05:00
* chore(ci): enforce consistent formatting of KopiaUI code * fix htmlui_changelog.sh * fix
95 lines
2.2 KiB
Makefile
95 lines
2.2 KiB
Makefile
SHELL:=/bin/bash
|
||
|
||
include ../tools/tools.mk
|
||
|
||
deps: node_modules/.up-to-date
|
||
|
||
node_modules/.up-to-date: $(npm) package.json package-lock.json
|
||
$(retry) $(npm) $(npm_flags) $(npm_install_or_ci) --no-audit
|
||
$(npm) $(npm_flags) audit --omit=dev
|
||
echo updated > node_modules/.up-to-date
|
||
|
||
electron_builder_flags+=-c.extraMetadata.version=$(KOPIA_VERSION:v%=%)
|
||
|
||
electron_publish_flag:=never
|
||
|
||
ifeq ($(IS_PULL_REQUEST),false)
|
||
|
||
electron_builder_flags+=-c.publish.owner=$(REPO_OWNER)
|
||
|
||
ifeq ($(CI_TAG),)
|
||
ifneq ($(NON_TAG_RELEASE_REPO),)
|
||
electron_builder_flags+=-c.publish.repo=$(NON_TAG_RELEASE_REPO)
|
||
endif
|
||
endif
|
||
|
||
else
|
||
|
||
# Running as part of a pull_request event on GH, or outside a GH workflow, then
|
||
# don't build installer and don't publish
|
||
ifneq ($(FORCE_KOPIA_UI_SIGN),)
|
||
electron_builder_flags+=--dir
|
||
|
||
else
|
||
|
||
# unset CSC_LINK completely, otherwise electron builder hangs attempting to
|
||
# notarize.
|
||
unexport CSC_LINK
|
||
unexport CSC_KEY_PASSWORD
|
||
unexport KOPIA_UI_NOTARIZE
|
||
|
||
endif
|
||
endif
|
||
|
||
# empty CSC_LINK, unset completely since empty value confuses electron builder.
|
||
ifeq ($(CSC_LINK),)
|
||
|
||
unexport CSC_LINK
|
||
unexport CSC_KEY_PASSWORD
|
||
|
||
endif
|
||
|
||
ifeq ($(GOOS),windows)
|
||
|
||
# disable Kopia UI code signing on Windows.
|
||
unexport CSC_LINK
|
||
unexport CSC_KEY_PASSWORD
|
||
|
||
endif
|
||
|
||
# build x86_64 and apple silicon binaries
|
||
ifeq ($(GOOS),darwin)
|
||
ifeq ($(KOPIA_UI_CURRENT_ARCH_ONLY),)
|
||
electron_builder_flags+=--x64 --arm64
|
||
endif
|
||
endif
|
||
|
||
# build x86_64 and arm64 binaries
|
||
ifeq ($(GOOS),linux)
|
||
ifeq ($(KOPIA_UI_CURRENT_ARCH_ONLY),)
|
||
electron_builder_flags+=--x64 --arm64 --armv7l
|
||
endif
|
||
endif
|
||
|
||
dev: node_modules/.up-to-date
|
||
$(npm) $(npm_flags) run dev
|
||
|
||
run:
|
||
$(npm) $(npm_flags) run start-electron-prebuilt
|
||
|
||
e2e-test:
|
||
$(npm) $(npm_flags) run e2e
|
||
|
||
build-electron: ../dist/kopia-ui/.up-to-date
|
||
|
||
# rebuild packages if HTML, embedded EXE or build config changed.
|
||
../dist/kopia-ui/.up-to-date: package.json ../dist/kopia_*/kopia* node_modules/.up-to-date public/* resources/*/*/*
|
||
$(retry) $(npm) $(npm_flags) run build-electron -- $(electron_builder_flags) -p $(electron_publish_flag)
|
||
echo updated > ../dist/kopia-ui/.up-to-date
|
||
|
||
check-prettier: node_modules/.up-to-date
|
||
$(npm) run prettier:check
|
||
|
||
prettier: node_modules/.up-to-date
|
||
$(npm) run prettier
|