Commit Graph

319 Commits

Author SHA1 Message Date
Jakub Sokołowski 128f44f58b
fastlane: disable oldest_build_allowed for TestFlight clean
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-29 15:58:17 +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
Jakub Sokołowski a02a0429c3
fastlane: use our fork of fastlane-plugin-diawi
With it we can set last_hope_attempts_backoff to 5 seconds.
This should fix issues with upload wait timing out.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-21 21:18:16 +01:00
Jakub Sokołowski c348337150
ci: fix GitHub upload by not changing dir when uploading
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-21 14:02:44 +01:00
Jakub Sokołowski 72823c2c3e
ci: use Diawi URL for iOS only if it's set
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-21 10:25:41 +01:00
Jakub Sokołowski 5e6ab5d0d9
ci: fix GitHub release by using glob for all files
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-21 09:02:02 +01:00
Jakub Sokołowski 23708f1487
ci: don't use pure shell for Play Store upload
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-17 18:21:53 +01:00
Jakub Sokołowski b402dc9c62
upgrade XCode to 11.3.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-14 17:23:19 +01:00
Pedro Pombeiro d62cda4d66
nix: Add support for reading .env feature flags 2020-01-14 15:16:30 +01:00
Jakub Sokołowski 6a90d76c98
fix edge case where PR e2e builds are not rebased
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-13 13:55:44 +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 e8150d7187
small fix for TR_CASE_IDS parameter
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-05 11:00:40 +01:00
Jakub Sokołowski 72dfb5189e
upgrade Xcode: 11.1 > 11.2.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 17:45:22 +01:00
Jakub Sokołowski f30f0ed139
add optional TR_CASE_IDS argument to e2e PR tests
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-03 22:39:32 +01:00
Jakub Sokołowski d930c51dfa
use regular CI linux hosts for end-to-end tests
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Serhy <sergii@status.im>
2019-12-02 13:04:39 +02:00
Jakub Sokołowski 182bfef295
don't use pure shell for uploads, causes SSL issues
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-27 11:23:07 +01:00
Jakub Sokołowski b32dd113f6
nix: upgrade nixpkgs
Also:
- upgrade Go: 1.12 > 1.13
- upgrade Android SDK: 28.0.3 > 29.0.2
- nix: stop using system Fastlane for iOS builds
- nix: include CocoaPods in shell for iOS
- nix: concatenate shellHooks correctly
- fix gomobile status-go build by setting GO111MODULE=off
- fix gradle accepting empty STATUS_GO_SRC_OVERRIDE value
- don't use a pure shell for uploadToSauceLabs()

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:41 +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
Jakub Sokołowski fe7f6c87ab
nix: fix nix-cache builds on MacOS
symlink from /opt/nix requires this setting

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:22 +01:00
Jakub Sokołowski f6b7f637f0
disable desktop builds as work on them is on hold
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:21 +01:00
Jakub Sokołowski a6c2518de7
drop overriding .env values with CI parameters
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-06 22:17:40 +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 647bde7c6b
fix type of shell used for s3cmd uploads
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-18 11:27:37 +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 afc2412514
desktop builds need GnuPG
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-17 11:03:41 +02: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
Serhy c872c5c487
Enable high priority tests in PRs
Also:
- add ci/tests/Jenkinsfile.e2e-prs
- remove maybe_later_button click after new onboarding
- update job name for e2e tests
- Fix testrail checklist creationg for nightly builds

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-14 13:52:49 +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 599ed98093
fix which APK is published for e2e builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-01 23:42:16 +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
Jakub Sokołowski 00de482767
re-enable desktop builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-19 17:41:50 +03:00
yenda c3dd950286
remove realm
Signed-off-by: yenda <eric@status.im>
2019-09-09 18:40:15 +02:00
Jakub Sokołowski ba8e49b649
save diawi link in the build description for easy access
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-03 11:43:03 -04:00
Jakub Sokołowski 7c7eb0ba3d
clean results before copying them from Nix store
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-28 21:55:52 -04:00
Pedro Pombeiro 78754dfdee
Fix local release PR builds (were missing js modules)
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-27 11:49:48 +02:00
Jakub Sokołowski 17407b3680
don't go into android dir, copy results if not linking
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-27 09:14:00 +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
Andrey Shovkoplyas e4c0bcfc3d
disable coverage
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-08-12 15:05:57 +02:00
Jakub Sokołowski a79544d043
forgot to disable desktop stuff in other steps
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-10 02:17:04 -04:00
Jakub Sokołowski c49e4933ee
disable desktop builds for now
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-08 15:12:22 -04: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 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 f6527f014e
nix: Improve some expressions 2019-07-19 20:59:16 +02:00
Jakub Sokołowski 158f9b4938
fix release builds by renaming .env.prod to .env.release
This way the nix expression in nix/mobile/android/targets/release-android.nix will not fail.
And the naming of build types and `.env.${type}` files will be more consistent.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-17 10:39:53 -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 48c7f928cd
Clean up some nix files 2019-07-05 13:40:31 +02:00
Jakub Sokołowski cca2af6875
don't provide --apk=, it's already there
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-03 08:16:00 -04:00
Jakub Sokołowski 37dc51a93d
add a Jenkinsfile for nightly end-to-end tests
also add error handling for TestRail

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-01 11:22:26 -04:00
Jakub Sokołowski 33840b7b84
use nix shell for running fastlane ios clean
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-18 10:09:33 -04:00
Jakub Sokołowski 5cf112e8a5
don't pass any arguments to getVersion
ab11a67c96 removed the argument but didn't clean this call

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-14 11:44:03 -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
Jakub Sokołowski 7c1df4f3cd
fix load of github groovy module
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-11 07:43:46 -04:00
Jakub Sokołowski 49d5a3082e run checks and build steps in parallel
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-10 22:07:55 -04:00
Jakub Sokołowski d75a412ae8
don't rebase manual builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-06-07 18:45:28 +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 632bbf3bc1
[perf] Move translation to node_modules in release build 2019-06-05 18:40:53 +03:00
Roman Volosovskyi daacccb512
[Android, iOS] Advanced ClojureScript compilation 2019-05-30 21:23:31 +03:00
Jakub Sokołowski 3527a5d2ce
fix missing env prefix for CHANGE_TARGET
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-16 22:11:49 +02:00
Jakub Sokołowski 4f4cc91b88
use CHANGE_TARGET to rebase on actual PR target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-15 17:56:37 +02:00
Jakub Sokołowski c90fe74d9f
check also branch name when skipping rebase
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-15 17:13:48 +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 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
Pedro Pombeiro cc009a3c2c
nix: Minor cleanup of fastlane expression
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-09 18:33:40 +02:00
Jakub Sokołowski 3469c4a9b1
don't rebase on canary-branch
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-05-09 11:17:07 +02:00
Pedro Pombeiro 9d1e266145
Use fastlane Nix package instead of ruby/bundler for Android
- iOS still has issues with native Ruby dependencies

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-06 11:57:12 +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
Jakub Sokołowski 3774a0845a
add diawi upload retries
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-26 10:29:12 +02:00
Jakub Sokołowski a4b5f69e5b
merge nix-cache build Jenkinsfiles
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-19 10:56:45 +02:00
Jakub Sokołowski 78a1b025ac
don't use docker containers on linux, nix rules all
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-16 21:35:51 +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 a7f8252d50
Add --pure to nix-shell calls 2019-04-15 20:29:55 +01: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
Jakub Sokołowski 42a3b7d195
fix setting of BUILD_TYPE and BRANCH params
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-12 11:49:02 +02:00
Jakub Sokołowski 5c5e804c88
don't make e2e builds use modified ID
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-12 09:56:20 +02:00
Jakub Sokołowski 55abf20645
modify .env settings using Jenkins params
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-11 19:49:13 +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
Jakub Sokołowski 1d00e9bb3d
change App ID for PRs on Android to avoid replacing release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-10 11:49:40 +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 65e6e80349
Create Nix package for building status-go 2019-04-09 12:44:39 +02:00
Jakub Sokołowski 9537425cf2
fix nix cache build process
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-05 16:05:03 +02:00
Jakub Sokołowski c2fc510c8e
use auto@status.im Apple account for signing app
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-05 10:48:17 +02:00
Jakub Sokołowski 916467555f
add repo name to ghcmgr url
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-02 15:51:15 +02: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
Jakub Sokołowski b6507ebb5a
run bundle for building ios in nix_sh
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-26 11:07:51 +01:00
Pedro Pombeiro 738521092b
Call make-prepare also on Desktop CI builds
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-03-22 16:26:58 +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
Jakub Sokołowski cfcfa01a64
make sourcing nix quiet
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 18:58:52 +01:00
Jakub Sokołowski 750cc93fe9
fix for e2e builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 17:48:39 +01:00
Jakub Sokołowski 77267a145f
check parameter, e2e builds can be release builds too
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 17:23:47 +01:00
Jakub Sokołowski 52295502d0
don't rebase desktop builds on release either
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 14:42:53 +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 5440378bbc
Migrate remaining CI builds to Nix 2019-03-21 13:57:01 +01:00