Avoid hanging while notarizing the UI on MacOS for PRs in the same repo.
Unset various variables, including KOPIA_UI_NOTARIZE, when
FORCE_KOPIA_UI_SIGN is not specified
* test(ui): added minimal automated KopiaUI test
```
$ make kopia-ui-test
```
This currently executes super minimal E2E test on pre-built KopiaUI
using Playwright https://playwright.dev
* better os/arch detection
* remove unwanted log
* fixed executable path on linux
* fix for linux, misc
* Makefile: refactoring
- added signing of windows exe in a zip package
- removed Windows build from goreleaser
- removed homebrew from goreleaser
- enabled incremental builds
* ci: publish scoop package
* ci: publish additional binaries as artifacts
* ci: install {htmlui,app}/node_modules as part of ci-setup
* ci: added retry to improve robustness of builds
* ci: continue-on-error for non-pull-requests
* ci: moved publish-packages to Stage And Publish Artifacts phase
- stop publishing to github directly from goreleaser and electron builder
- upload dist/ as artifact at the end of each build
- stage release in a separate directory, generated checksum, GPG sign and publish
- removed spaces from Windows setup exe
* ci: refactored CI/CD logic & Makefile
- removed all travis CI emulation environment variables and replaced with:
CI_TAG=<empty>|tag
IS_PULL_REQUEST=false|true
- refactored all OS and architecture-specific decisions to use around standard GOOS/GOARCH values instead of uname/OS
- re-added self-hosted runner for ARMHF (3 replicas)
- added brand new self-hosted runner for ARM64 (3 replicas)
- disabled attempts to publish and sign on forks
- improved integration test log output to better see timings and sub-tests
- print longest tests (unit tests and integration) after each run
- verified that all configurations build successfully on a clone (jkowalski/kopia)
- run make setup in parallel
* testing: fixed tests on ARM and ARM64
- fixed ARM-specific alignment issue
- cleaned up test logging
- fixed huge params warning threshold because it was tripping on ARM.
- reduced test complexity to make them fit in 15 minutes
KOPIA_VERSION will now always be v-prefixed and we will strip the
prefix before embedding it in KopiaUI manifest.
Also upgraded Node and app NPM dependencies to latest versions.
- added ability to make new snapshots from the UI
- added directory picker
- hide/show macOS dock icon automatically
- fixed copy/paste on Mac (apparently if you don't have 'Edit' menu
in your app, copy/paste and many other shortcut keys simply don't
work)
- added smart time formatting ("X minutes ago", etc.) in lists
using 'moment' library
- added progress information to snapshots
* app: added desktop app shell based on Electron that runs in the tray, starts a background kopia server and allows access to the UI
* icons: updated icons for the app
* htmlui: flexible containers