Commit Graph

460 Commits

Author SHA1 Message Date
Jakub Sokołowski f904d7b543
nix: add --console=plain to gradle call
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-08-06 14:34:07 +02:00
Jakub Sokołowski 7a80eca73c
jenkin: fix GitHub releases
Specifically filenames and the diff link.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-08-06 14:28:21 +02:00
Jakub Sokołowski 95997530c6
jenkins: increase iOS build timeout to 25 minutes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-08-04 10:34:32 +02:00
Jakub Sokołowski 84286782f6
bump status-react-jenkins to 1.2.0
This updates a bunch of things in the Jenkins logic.
For details of that see:
https://github.com/status-im/status-react-jenkins/pull/12

It grew out of the changes I made to make PR builds available in Desktop client:
https://github.com/status-im/nim-status-client/pull/507

Changes:
- Bump `status-react-jenkins` library to newer version, probably `1.2.0`
- Update use of `utils.pkgFilename()` in `ci/Jenkinsfile.combined`
- Make all iOS builds go into the same folder: `status-ios`
- Drop e2e build type, infer it from Android ABIs set to `x86` only
- Simplify logic in `nix/mobile/android/release.nix.`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-13 12:13:47 +02:00
Jakub Sokołowski 7d7462356e
ci: lower build timeouts to 20 minutes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-08 12:33:33 +02:00
Jakub Sokołowski 112132aa94
drop all desktop related files and references
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-08 10:26:51 +02:00
Jakub Sokołowski b95056f3ce
ci: fix what version is set for iOS PR builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-06 09:47:39 +02:00
Gheorghe Pinzaru d916751160
Add PR Scheme for iOs build
Build PR Scheme in PR build

use named parameters, use pr_build boolean

Signed-off-by: Jakub Sokołowski <jakub@status.im>

Enable capabilities

Signed-off-by: Jakub Sokołowski <jakub@status.im>

Add custom app icon

Remove user defined profile

Add PR scheme

Explicit provide provisioning profiles

Fix pr schema

Bump jenkins

Pod bump

Describe pr_build argument

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-06-29 16:16:35 +03:00
Jakub Sokołowski c943f5f283
nix: upgrade xcode 11.4.1 to 11.5
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-06-29 10:00:00 +02:00
Jakub Sokołowski 41e04b9555
disable play store release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-06-23 17:17:50 +02:00
Andrea Maria Piana 1714970e4e
Use Infura token pulled from environment
This way we can use different token for e2e, release, and devel builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2020-06-19 19:26:40 +02:00
Jakub Sokołowski 284c26055f
update Jenkins library to allow vebose Fastlane calls
For more details see status-react-jenkins change:
https://github.com/status-im/status-react-jenkins/pull/7

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-06-02 18:50:43 +02:00
Jakub Sokołowski 2fcf0964f8
nix: fix nix-cache builds using wrong status-go targets
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-16 15:31:15 +02:00
Jakub Sokołowski ed4d0a1ed9
nix: refactor updating Gradle dependencies
changes:
- Moved Gradle deps setup to `nix/deps/gradle`
- Dropped `nix/mobile/android/maven-and-npm-deps/maven`
- Used GNU Parallel to optimize `nix/deps/gradle/generate.sh`
- Move Maven+Node shell setup from `release-android.nix` to Android shell
- Moved AAPT2 patching to `nix/pkgs/aapt2`
- Drop `patchPhase` and `gradlew` use from `release-android.nix`
- Simplify symlinking `{mobile,desktop}/js_files/*`
- Add new `nodejs` shell and merge it with `clojure` and `gradle`
- Re-created Gradle deps files with new scripts:
  - `nix/deps/gradle/proj.list`
  - `nix/deps/gradle/deps.list`
  - `nix/deps/gradle/deps.urls`
  - `nix/deps/gradle/deps.nix`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-14 09:46:30 +02:00
Jakub Sokołowski a96b35996f
drop scripts/copy-translations.sh as useless
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-14 09:46:22 +02:00
Jakub Sokołowski 157d054e33
jenkins: allow combined jobs to copy artifacts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-12 09:14:49 +02:00
Gheorghe Pinzaru c34df26e19
Move icons assets into resources
Fix logout icon usage

Update icons docs

Remove scripting

change jenkins

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-05-08 14:12:52 +03:00
Jakub Sokołowski 3ae5f87be3
ci: add Jenkinsfile for updating Play Store metadata
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-05 19:40:45 +02:00
yenda d5ef218584
use shadow-cljs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2020-04-30 15:43:46 +02:00
Jakub Sokołowski 7b6b620ceb
nix: use overlays instead of packageOverrides
Changes:
- Add `nix/DETAILS.md` for more in-depth info
- Rename some of `config.status-im` variables
- Drop `env` argument for Android build
- Use `overlays` instead of `packageOverrides`
- Move the `pkgs` overlay to `nix/overlay.nix`
- Move `nix/status-go/utils.nix` to `nix/tools`
- Make `shell.nix` use the `shells.default` only
- Use `default.nix` as target for `nix/scripts/shell.sh`
- Make `nix/scripts/shell.sh` use `--attr` instead of `target`
- Drop the `target` argument in favour of using `--attr`
- Drop unnecessary `src` from `nix/mobile/ios/default.nix`
- Move `mkShell` and `mergeSh` under `lib`
- Move `patched-go` package to `nix/pkgs` directory
- Move `gomobile` package to `nix/pkgs` directory
- Move `ANDROID_ABI_SPLIT` to `config.status-im.android.abi-split`
- Move `ANDROID_ABI_INCLUDE to `config.status-im.android.abi-include`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-29 11:53:33 +02:00
Churikova Tetiana d9862e2cef
upgrade e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-04-22 13:17:03 +02:00
Jakub Sokołowski d68b757589
upgrade Xcode to 11.4.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-16 22:13:47 +02:00
Jakub Sokołowski 035e07f7be
upgrade to Xcode 11.4
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-16 12:56:03 +02:00
Jakub Sokołowski 5fab3268bd
allow lint stage fail in CI and still upload build result
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-27 09:19:46 +01:00
Jakub Sokołowski efc2fa9cf2
use the proper source of publish method
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-25 17:10:24 +01:00
Jakub Sokołowski 0306f1cfbd
ci: re-add Play Store upload case for release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-25 11:17:06 +01:00
Jakub Sokołowski 4a7c03b1cc
avoid building jsbundle twice, drop jsbundle stage
Because we run nix/scripts/clean.sh after building JSBundle it is
removed from Nix store and can't be reused in the Bundle stage.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-17 22:11:54 +01:00
Jakub Sokołowski 4e567cf782
use status-react-jenkins as CI library
This PR extracts all the ci/*.groovy scripts into a separate private repo located at:
https://github.com/status-im/status-react-jenkins

The main reasons for a separate repo are:

* Hiding the internal details of our CI setup
* Hiding names of Jenkins credentials available in CI jobs
* Lowering attack surface for malicious external contributors
* Increasing focus on PRs related to CI setup

You can read more about how Jenkins pipeline shared libraries work here:
https://jenkins.io/doc/book/pipeline/shared-libraries/

In simple terms I've added the repo to the main Jenkins configuration in "Global Pipeline Libraries" section and load it using:

  library 'status-react-jenkins@master'

Which makes globally available all of the libraries defined in the `vars` directory of that repo.
This also eliminates the need for statements like `android = load 'ci/android.groovy'`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-11 19:11:36 +01:00
Jakub Sokołowski 8b3c7f29b2
fix bundle install by disabling Nix sandbox
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-06 12:36:25 +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 efa420def4
disable playstore upload
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-03-05 10:52:19 +01:00
Jakub Sokołowski 8ac20b442e
don't use sandbox for Nix Cache builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-29 12:28:40 +01:00
Jakub Sokołowski 001264bd1a
fix creation of pkg folder for latest.json
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-28 15:07:53 +01:00
Jakub Sokołowski 8abea59196
don't use Jenkins master host for combined jobs
This lowers the risk of someone extracting sensitive data from master.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-27 17:58:19 +01:00
Jakub Sokołowski cb78293db7
use Android keystore from Jenkins credentials
This way we don't have to store it on individual CI hosts.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-27 06:54:28 +01:00
Jakub Sokołowski 1c81d6e190
nix: force sandbox in CI
For more details see:
https://github.com/status-im/security-internal/blob/master/overview/infra.md#continuous-integration-ci

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-26 11:10:19 +01:00
Jakub Sokołowski 90bae33689
e2e: fix handling of GitHub token
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-02-24 14:58:09 +01:00
Churikova Tetiana b8c7e44326
fix e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2020-02-24 12:32:08 +01:00
Jakub Sokołowski 8ffbf61b79
e2e-tests: update GitHub token used
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-18 20:50:21 +01:00
Jakub Sokołowski 3d52d1cb9c
jenkins: build() doesn't like mixed arguments
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-14 17:53:02 +01:00
Jakub Sokołowski dc0d0b59cb
re-enable site updates on nightly builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-12 20:55:25 +01:00
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
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
Jakub Sokołowski 1edc39e46f
re-add cache folders in /var/tmp, re-create bundle cache every time
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 12:45:45 +01:00
Jakub Sokołowski 257f03bca7
upgrade ruby to 2.5
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-21 09:22:32 +01:00
Jakub Sokołowski f7ab70ad5a
post diawi link to ghcmgr for ios
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-09 08:57:33 +02:00
Jakub Sokołowski 0887a5299a
add github releases for mobile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-07 19:16:15 +01:00
Jakub Sokołowski 47f7dbac9d
upload ipa files to DO and Diawi on release too
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-07 12:00:08 +01:00
Jakub Sokołowski 6ff36b5dd5
fix missing cmn. prefix
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-06 15:49:20 +01:00
Jakub Sokołowski f67ee8db56
upload release.json for release builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-06 14:52:26 +01:00
Jakub Sokołowski 30dc24a3a9
ci: move windows base image to docker image, add workdir
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-03-01 14:39:43 +01:00
Jakub Sokołowski 9b3580fafe
ci: disable copying artifacts and using non-existent url
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-03-01 09:52:10 +01:00
Jakub Sokołowski fd59e76603
ci: use legacy build system to avoid xcode 10.1 issues
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-03-01 09:16:03 +01:00
Igor Mandrigin 571514154d
ci: don't rebase release branches on `develop`
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-28 09:26:35 +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
Igor Mandrigin c0f5bd14de
Revert "change App ID for PRs on Android to avoid replacing release"
This reverts commit 6a7efb8339.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-13 10:12:51 +01:00
Jakub Sokołowski 6a7efb8339
change App ID for PRs on Android to avoid replacing release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-12 13:24:24 +01:00
Jakub Sokołowski 00b5ad2af6
new ghcmgr API requries repo name in path
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-07 11:01:59 +01:00
Jakub Sokołowski bf51592496
avoid incosistent timestamps by using parent start time if available
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-04 21:14:13 +01:00
Pedro Pombeiro 6d3211de46
Add golang to `.TOOLVERSIONS` and fix md5 calculation
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-02-01 19:35: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
Jakub Sokołowski e87464e5ba
refactor docker image creation to use base image
Squashed commits:
- initial work
- make base image use all the versions
- make desktop images use the base image
- update ci to use new images
- use new toolversion script
- update android image tag
- add missing android-26 platform
- fix installing packages with sdkmanager
- fix installation of react-native-cli
- specify prefix path for npm install -g

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-25 11:40:32 +01:00
Pedro Pombeiro d3f1b37c12
Use new status-go and rename NotifyUsers
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-01-24 15:41:32 +01:00
Jakub Sokołowski fab20ffc35
copying from wrong job for nightlies
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-23 10:51:21 +01:00
Jakub Sokołowski 195de3fc07
missing variable source
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-22 16:20:55 +01:00
Jakub Sokołowski 3acc480428
use separate jobs for e2e builds, disable aborting for non-pr builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-22 14:28:30 +01:00
Pedro Pombeiro 3d332e009b
Add logic to cancel older running builds in Jenkins
https://www.pivotaltracker.com/story/show/163367849
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-21 21:25:57 +01:00
Igor Mandrigin a14076def7
Update pods only if installation fails.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-21 19:02:28 +01:00
Anton Danchenko 69209107ca
added upgrade test, changed apk name on sauce
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-01-21 12:52:12 +02: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
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
Jakub Sokołowski b51b565cdb
add dockerimage for building android
- remove unused android-ndk toolchains
- add build.sh and test target for easy testing of image
- separate generic parts into a base image
- pass keystore credentials via env variables

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-16 17:36:13 +01:00
Jakub Sokołowski 243a2d1885
use nvm() wrapper in jenkins for android builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-16 14:07:53 +01:00
Jakub Sokołowski 420a64e72d
don't update cn.status.im on every release build
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-15 17:22:03 +01:00
Pedro Pombeiro ff98c7cbe0
Lock down tool versions (downgrades if necessary) 2019-01-14 19:49:03 +01:00
Jakub Sokołowski 75d992099f
skip uploading on release since bundle stage already does that
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-10 14:52:43 +01:00
Jakub Sokołowski 513a9cadbe
Fix how we get CHANGE_ID for PRs when uploading to SauceLabs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-10 11:45:46 +01:00
Jakub Sokołowski 0c3bfc14f9
fix renaming iOS release builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-09 17:04:59 +01:00
Jakub Sokołowski cc542969c0
move gh notification to post, add check for CHANGE_ID
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-09 12:33:40 +01:00
Jakub Sokołowski 0002218a6f
fix names of stages to fit what they do better
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-01-07 16:46:32 +01:00
Igor Mandrigin 5ff90c3b14
Always upload iOS release jobs to TestFlight
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-01-07 09:21:53 +01:00
Pedro Pombeiro 583edc51f8
Simplify Linux bundle building
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-03 10:17:13 +01:00
Jakub Sokołowski c3bddde7dd
fix success value of build objects sent to ghcmgr
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-21 10:00:24 +01:00
Jakub Sokołowski ffdbedd049
use the new pr commenting service
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-14 18:33:48 +01:00
Volodymyr Kozieiev d603460ff1
Logging disabled for release build
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2018-12-14 12:08:15 +02:00
Jakub Sokołowski 3cfec19757
fix link used for Macs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-13 18:09:04 +01:00
Jakub Sokołowski 9f7d32b1c5
add cleanup steps and reduce number of builds to keep
skip github notification if no CHANGE_ID is available

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-13 14:23:55 +01:00
Jakub Sokołowski 9e8ec6eac7
run pod only for ios
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2018-12-12 16:22:14 +01:00
Jakub Sokołowski 2586e71b30
move upload step top platform specific builds, cleanup
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-12 14:12:17 +01:00
Jakub Sokołowski 63ac18afde
set BUILD_TYPE to pr as default
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-12-11 12:15:45 +01:00
Jakub Sokołowski 411a74e040
add mvnrepository.com for gradle
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-10 21:04:38 +01:00
Max Risuhin 8f0bfde759
Use StatusImAppImage package without redundant files
Signed-off-by: Max Risuhin <risuhin.max@gmail.com>
2018-12-09 15:59:42 +02:00
Jakub Sokołowski 51b388cce3
always upload iOS builds to Diawi
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-07 16:15:47 +01:00
Jakub Sokołowski adbf77cb57
remove legacy jenkinsfiles
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-07 16:02:41 +01:00
Jakub Sokołowski 65826b178f
fix PATH for the compile step so we can use qmak
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-07 15:04:23 +01:00
Volodymyr Kozieiev 922caf168b
Returned macdeployqt env var 2018-12-07 15:04:02 +01:00
Volodymyr Kozieiev ad4535e3bd
Removed MACDEPLOYQT record 2018-12-07 15:04:02 +01:00