Commit Graph

164 Commits

Author SHA1 Message Date
Jakub Sokołowski 1b43e4c16b
fix Android build on MacOS due to lack of OS var
changes:
- Drop use of /dev/stderr, doesn't work on MacOS
- Use uname -s instead of $OS which was removed
- Remove leading whitespace that fucks with Nix
- Check if `/etc/os-release` exists before reading it

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-14 18:31:52 +02:00
Jakub Sokołowski 435c6a7943
update help messages in Makefile targets
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-14 15:08:19 +02:00
Jakub Sokołowski fd0a328106
Revert "use default target for run-android"
This reverts commit 9243daa405.
2020-04-01 09:52:57 +02:00
Jakub Sokołowski 9243daa405
use default target for run-android
this should stop rebuilds of things like
- status-react-patched-npm-gradle-modules
- status-react-source-gradle-install

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-31 17:18:12 +02:00
Jakub Sokołowski 2f412d95ee
nix: rename adb target to android-env
Makes more sense since it contains entire Android SDK and NDK.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-16 12:11:08 +01:00
Jakub Sokołowski de53581ef4
nix: don't generate keystore inside of Nix build
changes:
- Stops scripts/generate-keystore.sh runnig for every new TARGET=android shell
- Moves running scripts/generate-keystore.sh to keystore Makefile target
- Makes generate-keystore.sh accept STATUS_RELEASE_STORE_FILE as env variable
- Fixes error about missing lsof from start-react-native.sh
- Fixes error about unknown -keystore command in scripts/generate-keystore.sh
- Fixes getting OS_NAME without calling Nix shell
- Fixes getting TMP_BUILD_NUMBER without calling Nix shell
- Adds lsof used in start-react-native.sh to Android release Nix derivation
- Simplified how nix/scripts/build.sh appends the --keep flag
- Made use of colors.sh in more scripts

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-05 10:56:54 +01:00
Jakub Sokołowski 46bd2b2e4c
cleanup of shell scripts
Changes:
- Add missing lazy assignment for OS_NAME, fixes double Nix shells
- Moved `scripts/add-nix-gcroots.sh` to `nix/scripts/gcroots.sh`
- Moved Nix package manager setup to `nix/scripts/setup.sh`
- Created `nix/scripts/source.sh` to reuse in all Nix scripts
- Created `STARTING_GUIDE.md` with instructions for contributors
- Created `scripts/colors.sh` for definition of shell colors
- Removed `scripts/setup` in favor of `nix/scripts/setup.sh`
- Removed all of `scripts/lib` since it was useless

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-24 19:31:55 +01:00
Jakub Sokołowski 5a64745fce
nix: throw error if 'make nix-purge' is called on NixOS
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-24 17:07:09 +01:00
Pedro Pombeiro 2dce0ba861
Integrate status-go Nimbus build
Signed-off-by: Pedro Pombeiro <noreply@pedro.pombei.ro>
2020-01-21 08:48:04 +01:00
Jakub Sokołowski ee52ceffa3
add new eth.prod fleet to configuration
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-12 14:05:08 +01:00
Pedro Pombeiro e220ecbb0a
Cleanup
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2020-01-10 19:59:54 +01:00
acolytec3 7f10fe9ae4
Add lint-fix target for simple style fixes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-07 09:03:59 +01:00
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