Commit Graph

242 Commits

Author SHA1 Message Date
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 f9c15be1d4
update-status-go: don't accept SHA1s, accept PR numbers
There was some confusion when given ref/tag did not exist.
Script would just use the value as commit SHA1 even if it was not one.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-05 14:57:35 +01:00
Jakub Sokołowski c91fe5fa82
ci: use full timestamp for iOS CFBundleVersion
And we have to trim the one used for Android.
For more details see:
>Warning: The greatest value Google Play allows for versionCode is 2100000000.
https://developer.android.com/studio/publish/versioning

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-23 19:42:19 +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 b31bebdbd9
nix: Upgrade 2.3.1 > 2.3.2
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-17 18:21:39 +01:00
Pedro Pombeiro d62cda4d66
nix: Add support for reading .env feature flags 2020-01-14 15:16:30 +01:00
Pedro Pombeiro e220ecbb0a
Cleanup
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2020-01-10 19:59:54 +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
Jakub Sokołowski f330392ccf
narrow match with UID, print persistent matching processes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-30 14:47:06 +01:00
Jakub Sokołowski 261b81c8a7
nix: upgrade: 2.2.1 > 2.3.1
also drop toolversion scripts and functions

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:22 +01:00
Pedro Pombeiro af7341447c
nix: Remove need to pass default values in `--arg config`
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-11-17 16:26:58 +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
Pedro Pombeiro a71500b312
nix: fix passing of env vars to release-android expression 2019-11-13 12:01:48 +01:00
Jakub Sokołowski 05ee65b6fa
don't use SHA1s as status-go version
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-06 21:46:02 +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
Pedro Pombeiro 8e90103e96
nix: Upgrade expected Xcode version to 11.1
Also:
- nix: Disable symlink store check
- Add comments to dependabot config file

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-15 18:40:26 +02:00
Volodymyr Kozieiev ace4b5a161
Desktop works with react-navigation v3
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-10-02 10:19:37 +03: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 8ace86f7da
Use sponge to avoid need for temp file
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-14 00:14:57 +02:00
Pedro Pombeiro 8c7323e126
Use flock to create exclusive locks on node_modules/
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-13 17:46:18 +02:00
Pedro Pombeiro 699ac8c56e
Upgrade desktop yarn.lock
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-13 11:35:45 +02:00
Pedro Pombeiro e3e8e218ad
Make root folder less busy
- Move `mobile_files` into `mobile/js_files`
- Move `desktop_files` into `desktop/js_files`

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-12 16:54:12 +02:00
Pedro Pombeiro 8209bf260c
Rename `package.json.orig` to `package.json`
- This allows 3rd party tools like Dependabot to inspect our dependencies
2019-09-12 16:16:43 +02:00
Pedro Pombeiro 46e3b52809
Fix Android build on macOS 2019-09-12 16:13:42 +02:00
Pedro Pombeiro d6b8065a7c
Get rid of duplicate sources of external modules and fonts in build-desktop.sh
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-11 15:25:21 +02:00
Pedro Pombeiro 58d310ffce
Remove RAM bundle support 2019-08-30 17:13:35 +02:00
MajorTomSec 5dbac2b1d9
[Fix 8635] About showed "Version ()" instead of Version 0.14.0 (201908...) on Android
Fixes #8635 by adding VERSION and BUILD_NUMBER files in the correct nix
template and updating bash script in order to prevent it from failing,
due to the git repository being not initialized in the nix environment.

Move scripts/build_no.sh and scripts/gen_build_no.sh to
scripts/version/build_no.sh to prevent Nix from rebuilding when
unrelated scripts are touched.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-26 12:51:50 +03:00
Jakub Sokołowski 06dd2e5293
use wait-for.sh to fix nix/clean.sh race condition
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-21 18:53:00 -04:00
Pedro Pombeiro ff721ba1bf
nix: Some minor fixes 2019-08-15 11:18:31 +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 9d1bf5714d
add --reset-cache to stop metro-cache from growing
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-24 09:39:17 -04:00
Jakub Sokołowski b9ab37019d
build status-go for Nix cache
Also fix scripts/update-status-go.sh to accept commit SHA1

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-23 01:01:41 -04:00
Pedro Pombeiro 67d21c98c1
nix: Use status-go commit sha1 in Nix expression to allow for moving branches
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-20 10:11:34 -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
Pedro Pombeiro 977f1cd936
Remove RN patch 2019-07-05 13:40:31 +02:00
Pedro Pombeiro 8d8ef4d263
Only bring in Android dependencies in gomobile if targetting Android 2019-07-05 13:40:31 +02:00
Pedro Pombeiro c18e2f8a09
Minor fixes in Nix 2019-06-13 15:03:44 +02:00
Pedro Pombeiro 1457f0f017
Some changes from the node2nix test branch that don't need to be there
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-06-06 19:13:31 +02:00
Pedro Pombeiro ab11a67c96
Move files that don't change per platform to the root 2019-06-06 16:56:24 +02:00
Roman Volosovskyi c7c7b50281
RAM bundle basic setup 2019-05-27 17:34:17 +03:00
Pedro Pombeiro 373291bfc0
nix: Avoid bad practice of inheriting pkgs
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-21 12:15:56 +02:00
Jakub Sokołowski 0e8e5a51ba
refactor nix_sh to give it optional Map arguments
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-14 16:06:16 +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
Roman Volosovskyi ff39426e56
[android] send logs to error-reports@status.im 2019-05-10 17:02:58 +03:00
Pedro Pombeiro 4041a12612
Print a friendlier message when Xcode/iPhone SDK are not installed
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-10 15:07:52 +02:00
Pedro Pombeiro 93efc0cd05
Run prepare-for-desktop.sh in an impure shell 2019-05-10 11:48:32 +02:00
Pedro Pombeiro fca01891ba
Improvements for a pure macOS Nix environment 2019-05-10 11:48:31 +02:00
yenda 625ff669f7
remove unnecessary check in update-status-go script
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-09 18:34:52 +02:00
Pedro Pombeiro 69b9847c5f
Don't ever try to install Nix on NixOS 2019-05-09 14:14:58 +02:00
Pedro Pombeiro b575f5f6a5
Create androidenv package with accepted license so build can run with --pure 2019-05-06 11:56:51 +02:00
Pedro Pombeiro f329ca9bdf
Add comments to STATUS_GO_VERSION to avoid manual editing
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-02 21:44:15 +02:00
Igor Mandrigin d905aa7fa4
request to squash commits if the PR has multiple
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-16 11:52:40 +02: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 aeacbd928e
Separate logic into shell.nix and derivation.nix to fix `nix build` command
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-11 17:44:29 +02:00
Pedro Pombeiro 7be77fffb0
Do not change user's profile with Nix installation
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-11 14:59:33 +02:00
Pedro Pombeiro cf6cbd7fa8
Replace usage of `make setup`
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-10 11:45:29 +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 ea837ff353
Remove usages of `nix show-derivation` in build-desktop.sh for purity
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-09 14:13:14 +02:00
Pedro Pombeiro 65e6e80349
Create Nix package for building status-go 2019-04-09 12:44:39 +02:00
Roman Volosovskyi 24a978d442
Migrate to RN 0.59.2 2019-04-01 17:42:57 +03:00
Pedro Pombeiro 6eb806d2c1
Replace usage of stdenvNoCC.
- For Linux, the real fix is `hardeningDisable` of "fortify";
- For macOS, the real fix is setting the C and CXX compilers in `desktop/build.sh` as well as disabling CMake install step;
- Unfortunately for iOS we still need stdenvNoCC (or find a way to use GNU's ld instead of Apple's)

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-27 14:03:48 +01:00
Pedro Pombeiro e8f762ec6f
Fix missing directory in prepare-for-platform.sh
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-27 08:58:21 +01:00
Pedro Pombeiro 5553486d31
Fix base image path import in Windows setup
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-26 13:29:16 +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 c53553e137
Use nix to download Desktop bundle base images
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-22 15:06:14 +01:00
Pedro Pombeiro fc5c8c2dc0
Add Dockerfile to generate image used in Jenkins 2019-03-22 15:05:27 +01:00
Pedro Pombeiro f0cd54e65e
Fix missing artifacts in Windows build
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-22 14:30:52 +01:00
Pedro Pombeiro 3b9123d482
Add ruby and bundler Nix packages for CI to fix android-e2e CI job 2019-03-21 13:57:03 +01:00
Pedro Pombeiro 214131a5b3
Discard temporary changes to package.json in build-desktop.sh after compiling 2019-03-21 13:57:03 +01:00
Pedro Pombeiro 9ac7ceb779
Revert last commit and patch linuxdeployqt so that it doesn't require massaging of files
- After decision to not support Ubuntu 16.04, we can drop the code that copied all the dependency tree
2019-03-21 13:57:02 +01:00
Pedro Pombeiro d37f702b6e
unfinished: Bundle all Linux dependencies so that app can run on all distros 2019-03-21 13:57:02 +01:00
Pedro Pombeiro 4569e2283c
Remove build Dockerfiles and NVM script 2019-03-21 13:57:02 +01:00
Pedro Pombeiro 5440378bbc
Migrate remaining CI builds to Nix 2019-03-21 13:57:01 +01:00
Pedro Pombeiro 015f02ae84
Implement target-dependent installing of Nix dependencies 2019-03-21 13:57:01 +01:00
Jakub Sokołowski 9f601e851d
add jenkinsfile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 13:57:00 +01:00
Pedro Pombeiro 3af25381e1
Change shebang in bash scripts 2019-03-21 13:57:00 +01:00
Pedro Pombeiro 87a7aacd68
Add Android NDK Nix expression 2019-03-21 13:56:59 +01:00
Pedro Pombeiro 2ac5ee019e
Migrate Desktop build environment to leverage Nix
- Add Conan to default.nix
- Integrate Qt5 Nix package (with forked repo for new QtWebView module)
- Fix rpaths in macOS and Linux
- Add Nix expressions to install nsis, appimagekit and linuxdeployqt
2019-03-21 13:56:58 +01:00
Pedro Pombeiro 2e7891406b
Fix problem building `sha3` node module in `make setup` 2019-03-21 13:56:57 +01:00
Pedro Pombeiro 692de32931
Migrate from installing tooling the traditional way to Nix 2019-03-21 13:56:57 +01:00
yenda 496f3f1cc7
[design] use Inter font on Android
- implement typography component
- replace InterUI font by Inter font (renaming)

Signed-off-by: yenda <eric@status.im>
2019-03-20 18:42:31 +01:00
Jakub Sokołowski 5a07956672
fix pgrep by using --full for checking whole command line for name
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-01 13:43:41 +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
Jakub Sokołowski ff3a54e9e3
remove mounting of /dev/fuse for linux builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-25 10:55:42 +01:00
Pedro Pombeiro 9f9fae62a8
Minor changes in `build-desktop.sh` 2019-02-22 16:22:06 +01:00
Pedro Pombeiro 1c7eaf1b76
Replace sed with jq in build-desktop.sh 2019-02-22 16:22:02 +01:00
Andrea Maria Piana fecb9bed7e
Update bundle script
With the change in status-go mobile the name of the artifact as changed
and currently the script is looking at the wrong file.
I have also added an option to not clean the repo (only if specified),
as I rarely want to clean the repo myself, and I have always to comment
it out.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-02-19 13:40:05 +01:00
kn 6988950ea8
[#6973] Replace react-native-i18n with react-native-languages 2019-02-09 23:27:46 -08:00
Pedro Pombeiro 50b4ef36b5
Remove reliance on .nvmrc file and enforce node version check
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-31 19:42:22 +01:00
Pedro Pombeiro 881dabc241
Fix issues found when running `make setup` on clean MacOS and Linux machines 2019-01-29 23:18:29 +01:00
Pedro Pombeiro 63b340ea33
Fix reproducible builds in Docker desktop images
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-29 11:19:01 +01:00
Pedro Pombeiro b1a1317065
Check for correct node/yarn versions in `scripts/run-environment-check.sh` 2019-01-29 11:17:25 +01:00
Jakub Sokołowski 0ce74b1da9
fix use of toolversion by using absolute GIT_ROOT
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-21 17:07:27 +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
Jakub Sokołowski 7c8256234d
run genBuildNumber after make clean to not remove the file
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-17 20:04:46 +01:00