mirror of
https://github.com/kopia/kopia.git
synced 2026-02-01 02:03:31 -05:00
This mimics Travis behavior and also allows making full local release from a GH owner other than 'kopia' as long as required secrets are provided. Supports: - basic testing on PRs - publishing kopia RPM, DEB and TAR.GZ release to <owner>/kopia (on tags) - publishing KopiaUI release to <owner>/kopia (on tags) or <owner>/kopia-ui-release (on master) - publishing RPM and APT packages from official kopia/kopia and master branch only Verified on jkowalski/kopia clone: Tags: https://github.com/jkowalski/kopia/actions/runs/439735808 https://github.com/jkowalski/kopia/releases/tag/v0.8.0-testing4 Post-submit: https://github.com/jkowalski/kopia/actions/runs/439720039 https://github.com/jkowalski/kopia-ui-release/releases/tag/v20201222.0.225118 * ci: remove .travis.yml * testing: skip tests if environment values are empty * ci: run heavyweight tests on amd64 only * ci: remove .appveyor.yml * makefile: removed appveyor travis emulation
54 lines
1.3 KiB
Makefile
54 lines
1.3 KiB
Makefile
SHELL:=/bin/bash
|
|
|
|
include ../tools/tools.mk
|
|
|
|
node_modules: $(npm)
|
|
$(npm) $(npm_flags) install
|
|
|
|
electron_builder_flags:=
|
|
electron_builder_flags+=-c.extraMetadata.version=$(KOPIA_VERSION:v%=%)
|
|
electron_publish_flag:=never
|
|
|
|
ifeq ($(TRAVIS_PULL_REQUEST),false)
|
|
|
|
electron_publish_flag=always
|
|
|
|
ifneq ($(TRAVIS_TAG),)
|
|
# tagged release - create draft release, but don't publish
|
|
electron_builder_flags+=-c.publish.releaseType=release
|
|
electron_builder_flags+=-c.publish.owner=$(REPO_OWNER)
|
|
electron_builder_flags+=-c.publish.repo=kopia
|
|
else
|
|
# post-submit run, create a release in another repo
|
|
electron_builder_flags+=-c.publish.owner=$(REPO_OWNER)
|
|
electron_builder_flags+=-c.publish.repo=kopia-ui-release
|
|
electron_builder_flags+=-c.publish.releaseType=release
|
|
endif
|
|
|
|
else
|
|
|
|
# not running on Travis, or Travis in PR mode, don't build installer and don't publish
|
|
ifneq ($(FORCE_KOPIA_UI_SIGN),)
|
|
electron_builder_flags+=--dir
|
|
endif
|
|
|
|
endif
|
|
|
|
ifeq ($(TRAVIS_OS_NAME),windows)
|
|
# disable Kopia UI code signing on Windows.
|
|
undefine CSC_LINK
|
|
undefine CSC_KEY_PASSWORD
|
|
endif
|
|
|
|
dev: node_modules
|
|
$(npm) $(npm_flags) run dev
|
|
|
|
run: build-html
|
|
$(npm) $(npm_flags) run start-electron-prebuilt
|
|
|
|
build-html: node_modules
|
|
$(npm) $(npm_flags) run build-html
|
|
|
|
build-electron: node_modules build-html
|
|
$(npm) $(npm_flags) run build-electron -- $(electron_builder_flags) -p $(electron_publish_flag)
|