Commit Graph

54 Commits

Author SHA1 Message Date
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 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 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
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
Roman Volosovskyi 632bbf3bc1
[perf] Move translation to node_modules in release build 2019-06-05 18:40:53 +03: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 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
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
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
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 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 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
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 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 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 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 881dabc241
Fix issues found when running `make setup` on clean MacOS and Linux machines 2019-01-29 23:18:29 +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
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
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 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 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
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 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 a91a799eb5
add an e2e build target for ios
Squashe commits:
- add an e2e build target for ios
- add correct sdk and destination for simulator
- fixup! add correct sdk and destination for simulator
- drop xcarchive_path since we are not using it
- temporarily bind ios build to macos-03
- Detect installed simulator SDK and use it.
- Signed-off-by: Jakub Sokołowski <jakub@status.im>

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-05 18:43:11 +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
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 01c8d9b25b
stop using build-* git tags for counting build numbers
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-21 13:43:12 +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 b8f6eb8d24
Configure Jenkins for Windows builds. Part of #5807 2018-11-14 17:16:32 +01:00
Jakub Sokołowski d2160e3701
upload a latest.json to the nightlies bucket
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-10 15:44:49 +01:00
Jakub Sokołowski 33cf6dfd4b
add a fix for APK content type
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-10-12 09:52:23 -04:00
Jakub Sokołowski 27667dd949
upload PR build artifacts to a separate bucket, also update desc
also splify syntax with helper methods and variables

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-10-03 12:03:15 -04:00
George Lipov e1c0dff406
Run CLJS unit tests when building desktop
Signed-off-by: George Lipov <gnl@lipov.net>
2018-09-26 18:38:47 +03:00
Igor Mandrigin d2d8e43535
Ignore Desktop builds for release.
Currently, we don't release desktop betas and it isn't given that the
release schedule will be synchronized. So, for simplicity of support,
let's not build desktop against release branches.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-09-04 11:24:44 -04:00
Anton Danchenko edd58af80b
apk name is a PR number if build for a PR
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-31 10:11:47 -04:00
Jakub Sokołowski 2a1468cfa9
use dashes instead of dots in artifact filenames
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-30 11:43:56 -04:00
Jakub Sokołowski 95d0a782c3
fix build failure
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-29 23:25:06 -04:00
Jakub Sokołowski 6353039171
add a wait for cocoapods lock to disappear
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-29 17:31:19 -04:00
Jakub Sokołowski d985a82670
add default env type to copy for mobile builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-29 14:39:35 -04:00
Igor Mandrigin e508d98316
Have a single notification about builds.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-08-29 14:22:22 +02:00
Jakub Sokołowski 0bbfe24aec
make sure we don't pass origin/ with branch name to child jobs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-28 15:01:30 -04:00