Commit Graph

202 Commits

Author SHA1 Message Date
Jakub Sokołowski aca703a011
major nix refactor
Changes:
- Adds a new `nix-gc` Makefile target for removing old packages
- Moves all `nix/*.sh` files to `nix/scripts/*.sh` to make things more tidy
- Renames `TARGET_OS` into `TARGET` and makes it effective only with `nix/scripts/shell.sh`
- Renames `target-os` Nix argument to just `target` and makes it effective only with `shell.nix`
- Drops `IN_CI_ENVIRONMENT` env variable which was useless
- Drops use of `target-os` argument outside of `shell.nix` (with few exceptions, but just in naming)
- `nix/platform.nix` has been made obsolete and removed
- Moves the definition of all major targets to `nix/targets.nix`
- Moves the definition of all major shells to `nix/shells.nix`
- Makes `default.nix` and `shell.nix` just thin wrappers around `nix/default.nix`
- `nix/nixpkgs-bootstrap.nix` has been moved to `nix/pkgs.nix`
- All package and tool overrides have been moved to `nix/pkgs.nix`
- Explicit passing of contents of `pkgs` has been removed in favor of `callPackage` doing it for us
- `nix/bootstrapped-shell.nix` has been moved to `nix/tools/mkShell.nix`
- A new `mergeSh` tool has been added to `pkgs` from `nix/tools/mergeSh.nix`
  - This tool is used to merge shells created using `mkShell`
- `mobile/targets/jsbundle.nix` has been moved to `mobile/android/jsbundle/default.nix`
- Moves `status-go` version sanitization to `nix/status-go/utils.nix`
- Renames version to rawVersion and versionName to cleanVersion in status-go derivation
- Ports nix/mobile/ios/install-pods-and-status-go.sh to Nix sub-shells
- Moves adjustment of `inotify/max_user_watches` out into `scripts/inotify_fix.sh`
- Makes iOS builds use the Nix version of Fastlane

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-12 18:51:21 +01:00
Pedro Pombeiro 0cca662380
Fix builds with local status-go override
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-12-06 11:28:15 +01:00
Vitaliy Vlasov f4d5beced7
Add troubleshooting notes for Yarn/Git and adb server/client issues
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-11-21 17:15:02 +02:00
Jakub Sokołowski 7d1812cc94
fix nix-clean for MacOS
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-19 15:46:42 +01:00
Pedro Pombeiro f7384ae338
Add support for `STATUS_GO_SRC_OVERRIDE` env var
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-11-13 16:41:21 +01:00
Jakub Sokołowski 971db3ea2e
include status-go params to set varsion and commit
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-04 21:12:30 +01:00
Jakub Sokołowski 78095b0a2e
avoid spawning too many Nix shells
Achieved by:
- using := the 'git rev-parse' will be called after the shell is up
- adding the SHELL setting to the _startdev-% target

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-25 18:00:23 +02:00
Vitaliy Vlasov f28fd8fc9c
customize TMPDIR and clean it
Also:
- parallelize upload and achive stages
- fix s3cmd uploads for combined Jenkinsfile
- fix failing TestFlight clean job

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-18 09:40:11 +02:00
Jakub Sokołowski b8d3ef3aa5
combined node package upgrade prs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-17 12:43:17 +02:00
Pedro Pombeiro 616489bbf2
Add `pod-install` Makefile target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-30 14:15:51 +02:00
Jakub Sokołowski 973623f4c8
build multiple APKs for different architectures
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-30 13:59:42 +02:00
Pedro Pombeiro cc79cf3b3a
Enable Hermes in Android. Fixes #8952
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-12 16:15:11 +02:00
Pedro Pombeiro 46e3b52809
Fix Android build on macOS 2019-09-12 16:13:42 +02:00
yenda c3dd950286
remove realm
Signed-off-by: yenda <eric@status.im>
2019-09-09 18:40:15 +02:00
Pedro Pombeiro 34e9bc7876
Make release-ios build iOS app from command line
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-06 11:57:49 +02:00
Jakub Sokołowski 82576cd050
upgrade fastlane: 2.128.0 > 2.130.0
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2019-09-05 10:56:36 +02:00
Pedro Pombeiro cfcbe6e5fb
Remove unused `android/app/react.gradle` and mapview leftovers
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-23 11:59:30 +02:00
Jakub Sokołowski c2e17698eb
don't allow overrides of TARGET_OS for startdev targets
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-15 17:45:42 -04:00
Pedro Pombeiro ff721ba1bf
nix: Some minor fixes 2019-08-15 11:18:31 +02:00
snyk-test f464269263
fix: fastlane/Gemfile & fastlane/Gemfile.lock to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-RUBY-MINIMAGICK-451567

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-05 09:44:51 -04:00
Pedro Pombeiro f691304b9d
Fix minor issues and typos in Android build process
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-01 19:34:33 +02:00
Jakub Sokołowski 7517f5235a
use nix shell for nix-update-* targets
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-30 14:11:02 -04:00
Pedro Pombeiro acf6278383
nix: Use nix/build.sh for release-android make target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-26 16:01:06 -04:00
Pedro Pombeiro 2ac0630ef8
nix: fix target OS for add-nix-gcroots.sh
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-25 13:47:43 -04:00
Jakub Sokołowski 2acd5b4cb0
rename prod-build to jsbundle so it means something
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-24 11:56:03 -04:00
Jakub Sokołowski 0d78e71ece
allow for TARGET_OS to be not set
If we don't we will rebuild status-go for every platform
when we running `make shell`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-17 12:07:18 -04:00
Pedro Pombeiro a7fd659d84
nix: Wrap gradle, npm packages, `lein prod-build` and `gradle assembleRelease` in Nix expressions to improve reproducible builds with constant build paths 2019-07-15 16:08:02 +02:00
tbenr b78bb456a4
add coverage test
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-10 16:15:44 -04:00
Jakub Sokołowski 1a4763c48d
fix node_modules permissions before git clean
this is due to copying node_modules from nix store which is read-only

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-13 10:21:56 -04:00
Pedro Pombeiro f5be5c3a69
Ensure watchman watch is removed after Jenkins build 2019-06-13 15:03:44 +02:00
Jakub Sokołowski eb4ba4c50e
drop x86 and x86_64 for non-e2e or dev builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-11 13:30:49 -04:00
Roman Volosovskyi 3bd0947b4c
[perf] move goog.i18n deps to a module 2019-06-10 21:10:42 +03:00
Roman Volosovskyi 632bbf3bc1
[perf] Move translation to node_modules in release build 2019-06-05 18:40:53 +03:00
hlolli 7ba2a81735
[nix] patch realm as a nodePackage for linux and darwin and use it from nix store, add to default nix-shell buildDependencies, regenerate nodePackages with node2nix 1.6.1 2019-05-23 22:35:01 +02:00
Pedro Pombeiro 90d517adf6
nix: Add add-gcroots target to Makefile to avoid garbage collection
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-13 11:33:00 +02:00
Pedro Pombeiro 93efc0cd05
Run prepare-for-desktop.sh in an impure shell 2019-05-10 11:48:32 +02:00
Pedro Pombeiro 49fbf21f8d
Split status-go Nix package per platform so rebuilds are faster
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-06 14:40:23 +02:00
Volodymyr Kozieiev d05ff8a1b8
Removed changes that lead to error when running desktop in a dev mode 2019-04-22 22:24:20 +03:00
Pedro Pombeiro a436793fa0
Consolidate TARGET_SYSTEM_NAME and TARGET_PLATFORM with TARGET_OS
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-15 20:31:38 +01:00
Pedro Pombeiro 8e6b8b1ff1
Use Android SDK from nixpkgs instead of downloading 2019-04-12 13:57:38 +02:00
Pedro Pombeiro 89f34a7707
Improve makefile to only make Nix install the bare minimum for intended platform
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-12 12:18:43 +02:00
Pedro Pombeiro 3230f00c6c
Make nix-shell implicit and add `desktop-server` target
- The makefile now defines environment variables for the Desktop debug environment that allows running side by side with release

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-09 16:04:16 +02:00
Pedro Pombeiro 65e6e80349
Create Nix package for building status-go 2019-04-09 12:44:39 +02:00
Pedro Pombeiro 581d27756e
Fix leftover from make prepare-* which went unnoticed
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-26 14:23:51 +01:00
Pedro Pombeiro 119373ea33
Replace `make prepare-*` targets with implicit behavior
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-26 12:44:07 +01:00
Pedro Pombeiro 774ad65229
Fix android debug build suffix
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-21 14:11:10 +01:00
Pedro Pombeiro 692de32931
Migrate from installing tooling the traditional way to Nix 2019-03-21 13:56:57 +01:00
Jakub Sokołowski 62dc664090
ci: avoid running pod while there's another instance running
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-28 09:04:42 +01:00
Igor Mandrigin 9ba0bda8f7
Use gomobile binaries (again)
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-14 10:19:24 +01:00
Igor Mandrigin 3617fefbe9
Revert "Use gomobile binaries for iOS and Android."
This reverts commit c47fc34127.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-12 12:34:27 +01:00
Adam Babik c47fc34127
Use gomobile binaries for iOS and Android.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-12 10:21:31 +01:00
Pedro Pombeiro 7f12d181d7
Improve output when using a malformed `make startdev-*` command
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-30 10:51:32 +01:00
Jakub Sokołowski 984404b9e2
change .TOOLVERSION into csv, add toolversion script
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-18 22:43:11 +01:00
Pedro Pombeiro 5a69b4198e
Update PNs to use data-only messaging, and only encode/decode data values. Fixes #6772
Fix navigation to chat when PN is tapped while signed off. Fixes #3488

Anonymize PN pubkeys. Part of #6772
2019-01-17 19:23:55 +02:00
Pedro Pombeiro 941526a7fc
Remove obsolete `docker-build` folder
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-14 20:02:01 +01:00
Pedro Pombeiro ff98c7cbe0
Lock down tool versions (downgrades if necessary) 2019-01-14 19:49:03 +01:00
Pedro Pombeiro bb4264ac70
Fix `make setup`
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-30 17:49:39 +01:00
Pedro Pombeiro d4ca0851d7
Fix check for yarn
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-30 11:20:33 +01:00
Pedro Pombeiro 8345a0e8e9
Fix make startdev-desktop target
It was invoking `watch-desktop-` target

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-30 11:03:09 +01:00
Igor Mandrigin 37ef82b04d
Use `yarn` instead of `npm` for package management. Lock dependencies.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-29 16:29:57 +01:00
Jakub Sokołowski f5a0c2a7d9
download from DigitalOcean first since it's faster
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-27 14:01:20 +01:00
Jakub Sokołowski 3b494cfc82
add fallback to downloading from DigitalOcean spaces
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-27 09:50:09 +01:00
Pedro Pombeiro a97f319ba0
Offer to kill process taking port 8081 when starting react-native
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-26 23:04:26 +01:00
Pedro Pombeiro 57ef0b2ba3
Avoid unnecessary downloads of Android NDK after running `make clean` 2018-11-26 23:03:35 +01:00
Pedro Pombeiro 8d2818017c
Only disable gradle daemon on CI, and install recommended npm version 2018-11-26 23:03:30 +01:00
Jakub Sokołowski c5d069e8a3
fix naming of download status-go archives to avoid re-downloads
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-21 14:38:27 +01:00
Andy Tudhope 43357e1708
Update links
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-16 10:17:51 +01:00
Jakub Sokołowski c825ff285a
use a table to post links to build artifacts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-15 12:31:51 +01:00
Pedro Pombeiro d0f78445d4
Windows port using Conan and MXE. Part of #5807 2018-11-14 17:16:29 +01:00
Andrea Maria Piana 693eae9cf9
Send your own messages
Adds a `chat-id` field in `content` map.

The reason it has been added to the map instead of augmenting transit is
that it would simplify the calculation of `message-id`, which in this
case is consistent for both old & new clients.

`chat-id` also represents the `chat-id` with respect of the sender, as
in 1-to-1 chats that is asymmetric.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-11-06 21:19:50 +01:00
Dmitry Novotochinov 40914a1431
[#5339] switch Desktop to clj-rn
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2018-10-24 15:48:08 +03:00
Roman Volosovskyi 3dd532c656
fix "DexArchiveMergerException: Unable to merge dex" by requesting status-im:function via jitpack 2018-10-10 13:17:06 +03:00
Jakub Sokołowski 75f23a19ad
drop use of artifactory maven repo
Signed-off-by: Jakub Sokołowski <jakub@status.im>

- rename jar file to match flatDir search method
- try using ivy repo to pull status-go from github
- drop use of artifactory in pom.xml
- move status-go version to a STATUS_GO_VERSION file
- upgrade status-go to 0.16.0
- unzip with overwriting
- prepare-ios: doewnload archive only if it doesn't exist
- fix prepare-android and prepare-ios
- use Makefile targets to make sure status-go archives exist
- remove unnecessary call to make prepare-android

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-10-05 18:18:58 -04:00
Roman Volosovskyi e4639871ec
fix make android-ports command for real devices 2018-09-30 09:22:33 +03:00
Vitaliy Vlasov f67dcb6910
Add separate dev-desktop target
Signed-off-by: yenda <eric@status.im>
2018-09-27 12:29:42 +02:00
Vitaliy Vlasov ae5b585a5e
Add re-natal commands to make prepare-desktop 2018-09-27 12:29:25 +02:00
Pedro Pombeiro 17a8d3a9c9
Unify desktop builds. Closes #5406
- Replace Linux and MacOS scripts in `ci/desktop.groovy` with calls to `scripts/create-desktop-package.sh`
- Replace use of `deployment/env` with `.env` to avoid confusion and be coherent with mobile platforms

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-09-26 16:45:48 +02:00
Aleksandr Pantiukhov b283ffe4af
[#5315]: Status development tools: HTTP debugging, updated react-native-http-bridge
Signed-off-by: Aleksandr Pantiukhov <alwxndr@gmail.com>
2018-09-05 15:01:53 +02:00
Pedro Pombeiro b7b6a252e1
Simplify setup script and fix Android build when setting up from scratch
- gradle was being called without `npm install` having had a chance to execute

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-09-03 10:00:37 +02:00
Pedro Pombeiro 26464be158
Replace `npm prune` with cleaning `node_modules/`
- Fixes build error in https://ci.status.im/job/status-react/job/combined/job/mobile-ios/455/console

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-08-31 11:57:23 +02:00
Pedro Pombeiro 5ee1659b13
Add `clean` makefile target to ensure build leftover state is removed. Part of #5563
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-30 12:05:25 -04:00
endenwer bb729c6c81
Use clj-rn for development
Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-07-31 09:26:37 +02:00
Volodymyr Kozieiev 457f2a157a
Desktop branch merged into develop (#5266)
* Desktop branch merged into develop
* Fixed review notes by yenda
2018-07-23 18:21:31 +03:00
Aleksandr Pantiukhov d3b28ddbe8
re-natal completely removed from the project and replaced with clj-rn
Signed-off-by: Aleksandr Pantiukhov <alwxndr@gmail.com>
2018-07-18 23:56:39 +02:00
Goran Jovic f6f799c86b
fixes figwheel repl for android builds on linux
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-07-06 11:21:55 +02:00
Roman Volosovskyi 2b8a29817a
small changes for coordination of docs and latest addition of RN fork 2018-06-29 16:26:08 +03:00
Goran Jovic 3f3561123a
set default ios simulator to empty string
Signed-off-by: Goran Jovic <goranjovic@gmail.com>
2018-06-12 08:32:47 +02:00
Igor Mandrigin 125f61b19e
Make run-ios accept the simulator name
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-06-07 09:17:04 +03:00
Andrey Shovkoplyas 54175caeba
qr code should be white modal 2018-05-19 09:49:35 +03:00
Pedro Pombeiro 3af05bcb6c Ensure that local temp go build doesn't get reused in next build 2018-05-08 21:05:13 +02:00
Stepan Lusnikov 0082f5dd95
Add ability to run multiple android app
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-05-08 14:22:46 +03:00
Andrea Maria Piana 31728d5493
Add docker-compose for development build
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2018-04-11 14:58:38 +01:00
Andrey Shovkoplyas 818e310a26
added mvn to prepare-ios
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2018-04-02 14:27:50 +03:00
criw 25ac067375
[FIX #3399] add setup and full-prod-build targets
In order to have a working status-react both for android and iOS
easily, the setup target calls scripts/setup and full-prod-build
calls scripts/bundle-status-go.sh both for iOS and Android, and then
triggers prod-build.

Signed-off-by: Julien Eluard <julien.eluard@gmail.com>
2018-03-15 13:57:20 +01:00
Andrea Maria Piana a26aa92327
Remove starting app from makefile 2018-03-14 14:55:49 +00:00
Andrea Maria Piana 972b5bbe24
Add start-dev command in Makefile 2018-03-14 17:03:37 +03:00
Pedro Pombeiro 054737017f
Add `prod-build-android` and `prod-build-ios` aliases so that `release-*` make targets only build selected platform
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
2018-02-07 08:25:06 +01:00
alwxndr c66c5948a9
The wrong usage of prod-build removed from Makefile 2018-01-24 21:41:21 +02:00
t4sk 591e568e37
[feature #2793]
- update re-natal to 0.8.0
- git ignore config.cljs
- derive re-frisk url from config.cljs
- add tests for env/dev/env/utils
- remove lein re-frisk use-re-natal from Makefile

Signed-off-by: Oskar Thoren <ot@oskarthoren.com>
2018-01-08 23:13:47 +09:00
Audrius Molis 3e940b5bd4
Stopped loading Figwheel API by default #2669
Signed-off-by: andytudhope <tuddy0525@gmail.com>
2018-01-02 10:31:55 +02:00
Oskar Thoren 153cd02b86
Add tests section to Makefile 2017-12-28 05:45:40 +08:00
Ivan Danyliuk df21ec8c3a
Add Makefile 2017-12-18 12:04:17 +01:00