Commit Graph

108 Commits

Author SHA1 Message Date
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
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 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 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 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 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
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
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 00de482767
re-enable desktop builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-19 17:41:50 +03: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 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 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 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
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 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 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
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 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
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
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 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 6364b886e4
enable desktop builds for releases
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-06 13:45:29 +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
Jakub Sokołowski 458ccc48a5
fix which variables stores link to sha256 url
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-30 15:31:35 +01:00
Jakub Sokołowski 6365a0d1e2
uplod sha256 checksums of built artifacts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-29 19:57:31 +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
Pedro Pombeiro a31d10f6dc
Add support for generating Windows install program instead of zip file. Part of #6304
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-20 15:11:24 +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
Jakub Sokołowski d86ebe3c9b
use uppercase for latest.json
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-14 18:14:17 +01:00
Pedro Pombeiro b8f6eb8d24
Configure Jenkins for Windows builds. Part of #5807 2018-11-14 17:16:32 +01:00
Jakub Sokołowski a016b1656d
increate android and combined timeout to 35 minutes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-14 13:43:22 +01:00
Jakub Sokołowski 972cb3350e call the correct job for updating nightlies page
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-13 20:10:42 +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 1a0e0c71a6
remove slackSend call which caused failures
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-08 19:19:31 +01:00
Pedro Pombeiro 43075cc156
Increase build timeout as it is failing intermittently now
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2018-11-07 10:18:34 +01:00
Jakub Sokołowski 8199211e4d
add jenkins timeouts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-10-30 13:31:19 +01: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
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
Jakub Sokołowski f061025b67
update cn.status.im APK link on release
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-09-19 12:48:06 -04: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
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 5532510c56
run e2e by default only for nightlies
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-29 13:46:31 -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 2d6764862a
remove default value from Jenkinsfile.combined
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-28 22:33:18 -04:00
Jakub Sokołowski 3a3a6f2aa5
add default value for BUILD_TYPE parameter
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-28 12:55:15 -04:00
Jakub Sokołowski 198596d5e6
fix access to CHANGE_ID
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-27 20:03:00 -04:00
Jakub Sokołowski 76e9501541
prepare Jenkinsfile.combined for PR builds
- add missing Lint step for mobile builds
- add missing upload steps for android
- prefix fastlane calls with bundle exec
- update slackSend to format for PR builds
- silence fastlane notifying slack, Jenkins already does

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-27 19:34:00 -04:00
Jakub Sokołowski 17cca3a7c4
add metadata, change filenames, switch DO space to status-im
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-24 09:51:45 -04:00
Jakub Sokołowski c5f81d2bc4
yet another fix for DIAWI_URL argument
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-22 14:28:16 -04:00
Jakub Sokołowski a7677b024d
fix paths for uploading artifacts
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-22 08:44:39 -04:00
Jakub Sokołowski 5fb33cc461
split groovy scripts more, use job parameters
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-22 08:13:04 -04:00
Jakub Sokołowski ae0a017b50
fix uploading to digitalocean 2018-08-21 12:38:32 -04:00
Jakub Sokołowski d38f74fdfd
create Jenkinsfile.combined and extract build teps
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-08-21 10:27:12 -04:00