Commit Graph

110 Commits

Author SHA1 Message Date
Jakub Sokołowski ff9c678a1e
ci: extract git cleanup to separate script
It needs to be separate script, because once the submodules are broken
and the `variables.mk` file is not available from `nimbus-build-system`
then we cannot even call `make clean-git` successfully because it will
be caught by the `if` clause that checks for `variables.mk`.

Possible fix for issues with submodules not being updated in some
windows release builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-22 14:28:14 +01:00
Jakub Sokołowski c454878e0d
ci: improve clean-git by reseting submodules
This avoids a situation in which `variables.mk` from
`nimbus-build-system` does't exist, but at the same time `git submodule
update` doesn't work due to sumodules stuck in a bad state.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-21 17:43:05 +01:00
Jakub Sokołowski ce178da4b4
makefile: avoid rebuilds by using order-only deps
By using the pipe(`|`) operator which indicates order-only dependencies
we can avoid unnecessary rebuilds triggered by additon of QT dir check:
https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-14 16:15:47 +01:00
Jakub Sokołowski 0cf2c9c8da
Makefile: move QT dir check to separate target
This way we avoid errors about missing QT when calling targets that do
not require it, like `make clean` or `make deps`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-08 10:13:25 +01:00
Jakub Sokołowski 38f0973dc3
ci: use git clean instead of cleanWs() function
This is a continuation of attempts to fix provlems with Windows CI hosts
getting into a broken state due to `.git` directory becoming a file for
random submodules for unknown reason.

Instead of relying on Jenkins functionality of `cleanWs()` function
provided by the [Workspace Cleanup Plugin](https://plugins.jenkins.io/ws-cleanup)
we use Git which should be more reliable, and possibly also speed up the
initial checkout of the repo and submodules.

A nice side-effect is that the repo checkout on all builds after the first
one takes ~1 minute instead of ~5 minutes.

Previous issues:
- https://github.com/status-im/status-desktop/pull/7968
- https://github.com/status-im/status-desktop/pull/8046

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-11-06 20:20:54 +01:00
Michał Cieślak 3d98ad6991 chore(general): ability to run StatusQ sanity checker from main Makefile
Closes: #7854
2022-11-04 12:01:59 +01:00
Richard Ramos b43dfaa59e chore: add KDF_ITERATIONS var to the makefile 2022-10-03 11:45:56 -04:00
Stefan 898b928ce2 chore(debug): use WAKUV2_PORT environment variable to change Waku V2 port
The environment variable overrides libp2p protocol TCP port and
discovery v5 UDP with the same value
2022-09-29 16:17:42 +02:00
Stefan b0a0b1d4e4 chore(dev): add STATUS_PORT env var forwarding to status-go 2022-09-23 08:41:14 -04:00
Richard Ramos 60284fdeae chore: remove npx 2022-09-14 15:52:16 -04:00
Richard Ramos 5b5069319e chore: install fileicon on make 2022-09-14 15:52:16 -04:00
Richard Ramos d8a7dcf3a2 feat: output messages to csv 2022-08-25 08:16:06 -04:00
Patryk Osmaczko 4303d674dd feat(Makefile): add QML_DEBUG and QML_DEBUG_PORT options
closes: #6973
2022-08-11 19:53:08 +02:00
Anthony Laibe 3fad95ea0e test(@general): run squish test on ci 2022-08-05 10:11:42 +02:00
Sale Djenic db44bc25d3 feat(@desktop/keycard): initial keycard implementation
Keycard implementation affected onboarding/login flows.
- new user - first run - new keys into keycard
- new user - first run - import seed phrase into keycard
- old user - first run - login importing from keycard
- login the app using keycard

Fixes: #5972
2022-08-04 09:50:04 +02:00
Patryk Osmaczko 7390bed49e chore(translations): add lrealese as part of build process
closes: #6418
2022-07-14 22:04:33 +02:00
Richard Ramos 1c30eff74b fix: logs on node tab 2022-07-12 16:59:59 -04:00
Patryk Osmaczko 0bfc51d4a9 fix(Makefile): ensure `pkg` target rebuilds status client
Otherwise `make pkg` would deploy already built status client,
regardless of its initial configuration.

`make clean` is not required before `make pkg` anymore.

fixes: #6241
2022-06-28 13:47:41 +02:00
Michal Iskierko 8acb3c386a feature(desktop/general): Display mentions number on tray icon badge.
Count all mentions from all chats and communities.
Send it to notifications object.

Issue #4922
2022-05-26 14:16:00 +02:00
Michal Iskierko 38031aba83 feature(desktop/general): Configurable logs
Log level can be chosen during application startup.
Logs are disabled for production build.

Fix #3609
2022-03-28 13:58:08 -04:00
Michal Iskierko 3711ab613a feature(desktop/internal): Improve log file naming convention
Logs are named app_yyyyMMdd_HHmmss.log
Version, commit and start date information are displayed in logs at the begining.
Injecting commit version from Makefile.
Moving DESKTOP_VERSION const to constants.nim

Fix #3611
2022-03-24 17:47:48 -04:00
Sale Djenic 6186bf9c8c fix(@desktop/general): app/os notifications
Fixes #4409
2022-02-21 22:01:19 +01:00
Anthony Laibe 03b4bb0511 feat(@wallet): Add opensea api key 2022-02-16 10:29:00 +01:00
Anthony Laibe 56340bebd1 chores(@general): remove status-lib deps 2022-02-03 11:52:45 -05:00
Patryk Osmaczko ee462ea178 fix(@desktop/input): deploy Qt plugin to support fcitx
Qt provides support for various input methods through plugins.
Since the fcitx plugin is not delivered with Qt, it needs to be
built and deployed by us.

Fixes: #4436
2022-01-26 18:11:39 +01:00
Anthony Laibe d639219b94 feat(general): Force rebuild of status go at least once a day
fixes #4297
2021-12-20 10:07:34 +01:00
Michele Balistreri 314bbc65c2 try to fix macos linking 2021-10-06 08:32:32 -04:00
Michele Balistreri 899c342414 copy libkeycard in AppImage 2021-10-06 08:32:32 -04:00
Michele Balistreri 2508b6b6f1 fix windows build 2021-10-06 08:32:32 -04:00
Michele Balistreri 8f9d300312 add keycard-go to makefile 2021-10-06 08:32:32 -04:00
Richard Ramos 8339fe5cf9 fix: missing lib 2021-09-29 14:50:09 -04:00
Richard Ramos 5c937a28a3 chore: remove status-go from desktop 2021-09-29 14:50:09 -04:00
Richard Ramos 36e4fb2f8f crosscompile to amd64 when building on darwin/arm64 2021-09-28 15:17:28 -04:00
Michael Bradley, Jr 4ddb50573c fix: ensure Nim recompile after make update
These changes are a follow-up to #3582.

Also support `REBUILD_NIM=true` and `REBUILD_UI=true` variables so that it's
possible to ensure a rebuild for the next invocation of `make` or `make run`.

Dev docs have been updated: https://hackmd.io/OtFjDnH6QtOl3K65fKKEGg

Also adjust run targets so that e.g. `make -j16 run` works correctly.

Closes #3639.
2021-09-27 13:38:26 -05:00
Michael Bradley, Jr d969766e67 fix: on macOS download openssl@1.1 bottle because openssl bottle is now alias for openssl@3 2021-09-24 11:44:43 -05:00
Michael Bradley, Jr 8baa8c7b73 chore: improve Makefile targets nim_status_client and rcc
Allow for `make` to check the timestamps of files relevant to those targets and
thereby skip one or both targets if nothing's changed.
2021-09-20 11:42:10 -04:00
Michael Bradley, Jr f892b59ca1 chore: improve the bottles logic in Makefile
With these changes it will be easier to maintain, i.e. to add/remove bottles
just modify the `BOTTLES :=` list.

`brew update` is removed from `scripts/fetch-brew-bottle.sh` and instead done
in an [order-only
prerequisite](https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html). This
allows multiple bottles to be fetched in parallel (e.g. `make -j16`) without
overlapping invocations of `brew update` (which causes script failure).
2021-09-20 11:41:34 -04:00
B.Melnik 67ca89483d feat(spellchecking): add dictionaries as submodule
Closes: #3449
2021-09-17 12:57:28 -04:00
Sale Djenic 8af104a16e feat(@desktop/onboarding): support (optionally) OS keychain to login password
This feature works for MacOs only, for now.

On login, whether new or already created user may select between options:
"Store" - store password to the Keychain
"Not now" - don't store it now, but ask next time again
"Never" - don't store them ever and don't ask again

Selected preference may be changed later in:
`ProfileSettings > Privacy and security > Store pass to Keychain`

On the next app run, if `Store` was selected, a user will be asked to confirm
his identity using Touch Id in order to log in the app. If any error happens
he will be able to login using password.

Fixes: #2675
2021-09-17 12:45:34 -04:00
Andrei Smirnov 691795c644 Testing changes suggested in PR 2021-09-16 16:50:28 -04:00
Andrei Smirnov 343f4ffee3 Fixed output archive path 2021-09-16 16:50:28 -04:00
Andrei Smirnov fce910bd4a Added ENV: STATUS_CLIENT_7Z 2021-09-16 16:50:28 -04:00
Andrei Smirnov d4da9b75f0 feat(@desktop/windows): produce 7z archive when packaging 2021-09-16 16:50:28 -04:00
B.Melnik 12eecd3195 fix(Makefile): fix bottles order 2021-09-16 16:23:46 -04:00
Richard Ramos 03eed589a9 feat: display logs in node management section 2021-09-15 16:04:28 -04:00
B.Melnik d3c9564d91 feat(Spellchecking): Add bottle for spellchecking
Usage:

```qml

SpellChecker {
   id: spellchecker
   lang: "en"
}

```

Closes: #3442
2021-09-15 15:04:26 -04:00
Andrei Smirnov 6e0d8437d4 fix(@desktop/windows): installer to include cacert.pem 2021-09-06 14:47:18 -04:00
Richard Ramos db3b7ecfd9 feat: Version Updating
Fixes #1290
2021-08-24 16:56:55 -04:00
Anthony Laibe 3fdd593f0f feat(@desktop/internal): Specific logfile per app start
fixes #3146
2021-08-19 10:53:43 -04:00
Jakub Sokołowski 2df6def7f9 ci: add scripts/sign-linux-tarball.sh for GPG signing
Adds `scripts/sign-linux-file.sh` which expectes the following variables set:

* `LINUX_GPG_PRIVATE_KEY_FILE` - Path to the GPG export of private key.
* `LINUX_GPG_PRIVATE_KEY_PASS` - Password necessary to use the private key.

Given a file it creates a file with a `.asc` suffix containing the signature:
```
 > wget -q https://status-im-prs.ams3.digitaloceanspaces.com/StatusIm-210809-104514-156806-pr.tar.gz

 > tar xvf StatusIm-210809-104514-156806-pr.tar.gz
StatusIm-210809-104514-156806-pr.AppImage
StatusIm-210809-104514-156806-pr.AppImage.asc

 > gpg --verify StatusIm-210809-104514-156806-pr.AppImage.asc
gpg: assuming signed data in 'StatusIm-210809-104514-156806-pr.AppImage'
gpg: Signature made Mon 09 Aug 2021 12:54:49 PM CEST using RSA key ID E20B4DFD
gpg: Good signature from "Status.im Devel Signing (GPG key for signing Status.im development builds.) <devel@status.im>" [ultimate]
Primary key fingerprint: BBF0 5F92 536B ED19 30A9  FD44 009F B3BF E20B 4DFD
```

Issue: https://github.com/status-im/infra-ci/issues/25
Requires: https://github.com/status-im/status-jenkins-lib/pull/32

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-16 11:21:36 -04:00