Skip to content

Commit 1c06f2f

Browse files
committed
Add travis CI iOS
1 parent edfa7ba commit 1c06f2f

File tree

5 files changed

+132
-59
lines changed

5 files changed

+132
-59
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
command: pod install
4444
working_directory: ios
4545
- run:
46-
command: xcodebuild clean archive -workspace testCiCdReactNative.xcworkspace -scheme testCiCdReactNative -archivePath testCiCdReactNative.xcarchive CODE_SIGNING_ALLOWED=NO
46+
command: xcodebuild clean archive -workspace testCiCdReactNative.xcworkspace -scheme testCiCdReactNative -archivePath testCiCdReactNative.xcarchive CODE_SIGNING_ALLOWED=NO | xcpretty
4747
working_directory: ios
4848
- save_cache:
4949
key: pods-v1-{{ checksum "ios/Podfile.lock" }}-{{ arch }}

.github/workflows/build-ios-and-android.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- run: pod install
3333
working-directory: ios
3434

35-
- run: xcodebuild clean archive -workspace testCiCdReactNative.xcworkspace -scheme testCiCdReactNative -archivePath testCiCdReactNative.xcarchive CODE_SIGNING_ALLOWED=NO
35+
- run: xcodebuild clean archive -workspace testCiCdReactNative.xcworkspace -scheme testCiCdReactNative -archivePath testCiCdReactNative.xcarchive CODE_SIGNING_ALLOWED=NO | xcpretty
3636
working-directory: ios
3737

3838

.travis.yml

+67-46
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,75 @@
1-
language: android
2-
dist : trusty
3-
jdk: oraclejdk8
4-
sudo: required
1+
matrix:
2+
include:
3+
- os: osx
4+
podfile: ios/Podfile
5+
language: objective-c
6+
osx_image: xcode12
7+
8+
cache:
9+
yarn: true
10+
cocoapods: true
11+
directories:
12+
- node_modules
13+
- ~/Library/Caches/CocoaPods
14+
- ~/.cocoapods
15+
16+
script:
17+
- cd ios
18+
- pod install
19+
- xcodebuild clean archive -workspace testCiCdReactNative.xcworkspace -scheme testCiCdReactNative -archivePath testCiCdReactNative.xcarchive CODE_SIGNING_ALLOWED=NO | xcpretty
20+
21+
- os: linux
22+
language: android
23+
dist: trusty
24+
jdk: oraclejdk8
25+
sudo: required
26+
27+
licenses:
28+
- 'android-sdk-preview-license-52d11cd2'
29+
- 'android-sdk-license-.+'
30+
- 'google-gdk-license-.+'
31+
32+
android:
33+
components:
34+
# Uncomment the lines below if you want to
35+
# use the latest revision of Android SDK Tools
36+
# - tools
37+
# - platform-tools
38+
39+
# The SDK version used to compile your project, see `compileSdkVersion` in (android/build.gradle)
40+
- android-29
41+
42+
# The BuildTools version used by your project
43+
- build-tools-29.0.2
44+
45+
# Additional components
46+
- extra-google-google_play_services
47+
- extra-google-m2repository
48+
- extra-android-m2repository
49+
50+
# Specify at least one system image,
51+
# if you need to run emulator(s) during your tests
52+
# - sys-img-x86-android-26
53+
# - sys-img-armeabi-v7a-android-17
54+
55+
before_cache:
56+
- rm -rf $HOME/.gradle/caches/modules-2/modules-2.lock
57+
- rm -rf $HOME/.gradle/caches/*/plugin-resolution/
58+
59+
cache:
60+
yarn: true
61+
directories:
62+
- $HOME/.gradle/caches/
63+
- $HOME/.gradle/wrapper/
64+
- node_modules
65+
66+
script:
67+
- cd android && ./gradlew bundleRelease assembleRelease
568

669
env:
770
global:
871
- NODE_VERSION=14
972

10-
licenses:
11-
- 'android-sdk-preview-license-52d11cd2'
12-
- 'android-sdk-license-.+'
13-
- 'google-gdk-license-.+'
14-
15-
android:
16-
components:
17-
# Uncomment the lines below if you want to
18-
# use the latest revision of Android SDK Tools
19-
# - tools
20-
# - platform-tools
21-
22-
# The SDK version used to compile your project, see `compileSdkVersion` in (android/build.gradle)
23-
- android-29
24-
25-
# The BuildTools version used by your project
26-
- build-tools-29.0.2
27-
28-
# Additional components
29-
- extra-google-google_play_services
30-
- extra-google-m2repository
31-
- extra-android-m2repository
32-
33-
# Specify at least one system image,
34-
# if you need to run emulator(s) during your tests
35-
# - sys-img-x86-android-26
36-
# - sys-img-armeabi-v7a-android-17
37-
38-
before_cache:
39-
- rm -rf $HOME/.gradle/caches/modules-2/modules-2.lock
40-
- rm -rf $HOME/.gradle/caches/*/plugin-resolution/
41-
42-
cache:
43-
yarn: true
44-
directories:
45-
- $HOME/.gradle/caches/
46-
- $HOME/.gradle/wrapper/
47-
- node_modules
48-
4973
install:
5074
- nvm install $NODE_VERSION && nvm use $NODE_VERSION && nvm alias default $NODE_VERSION && node --version && npm i -g yarn
5175
- yarn install --frozen-lockfile
52-
53-
script:
54-
- cd android && ./gradlew bundleRelease assembleRelease

ENVINFO.md

+60-4
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
44
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
55

6+
67
- [Azure DevOps](#azure-devops)
78
- [Bitbucket Pipelines](#bitbucket-pipelines)
89
- [Gitlab CI](#gitlab-ci)
910
- [Codemagic](#codemagic)
1011
- [Bitrise](#bitrise)
11-
- [Github Actions](#github-actions)
12+
- [Github Actions (android)](#github-actions-android)
13+
- [Github Actions (ios)](#github-actions-ios)
1214
- [CircleCI](#circleci)
13-
- [Travis CI](#travis-ci)
15+
- [Travis CI (ios)](#travis-ci-ios)
16+
- [Travis CI (android)](#travis-ci-android)
1417
- [Appcircle](#appcircle)
1518
- [Nevercode](#nevercode)
16-
- [AppCenter](#appcenter)
19+
- [AppCenter (ios)](#appcenter-ios)
20+
- [AppCenter (android)](#appcenter-android)
1721
- [Buddy](#buddy)
1822

1923
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
@@ -431,7 +435,59 @@ Databases:
431435
SQLite: 3.32.2 - /opt/android/sdk/platform-tools/sqlite3
432436
```
433437

434-
### Travis CI
438+
### Travis CI (ios)
439+
440+
```shell script
441+
System:
442+
OS: macOS 10.15.7
443+
CPU: (2) x64 Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
444+
Memory: 955.05 MB / 4.00 GB
445+
Shell: 3.2.57 - /bin/bash
446+
Binaries:
447+
Node: 14.15.0 - /var/folders/z3/_825pg0s3jvf0hb_q8kzmg5h0000gn/T/yarn--1604348845540-0.009586636748001531/node
448+
Yarn: 1.22.10 - /var/folders/z3/_825pg0s3jvf0hb_q8kzmg5h0000gn/T/yarn--1604348845540-0.009586636748001531/yarn
449+
npm: 6.14.8 - ~/.nvm/versions/node/v14.15.0/bin/npm
450+
Managers:
451+
CocoaPods: 1.9.3 - /Users/travis/.rvm/gems/ruby-2.6.6/bin/pod
452+
Homebrew: 2.5.3 - /usr/local/bin/brew
453+
Maven: 3.6.3 - /usr/local/bin/mvn
454+
pip2: 19.3.1 - /usr/local/bin/pip2
455+
pip3: 20.1.1 - /usr/local/bin/pip3
456+
RubyGems: 3.0.3 - /Users/travis/.rvm/rubies/ruby-2.6.6/bin/gem
457+
Utilities:
458+
CMake: 3.18.3 - /usr/local/bin/cmake
459+
Make: 3.81 - /usr/bin/make
460+
GCC: 12.0.1. - /usr/bin/gcc
461+
Git: 2.28.0 - /usr/local/bin/git
462+
Clang: 1200.0.32.2 - /usr/bin/clang
463+
Mercurial: 5.5.2 - /usr/local/bin/hg
464+
Servers:
465+
Apache: 2.4.41 - /usr/sbin/apachectl
466+
SDKs:
467+
iOS SDK:
468+
Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
469+
IDEs:
470+
Nano: 2.0.6 - /usr/bin/nano
471+
Vim: 8.1 - /usr/bin/vim
472+
Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
473+
Languages:
474+
Bash: 3.2.57 - /bin/bash
475+
Go: 1.15.2 - /usr/local/bin/go
476+
Java: 14.0.2 - /usr/bin/javac
477+
Perl: 5.18.4 - /usr/bin/perl
478+
PHP: 7.3.11 - /usr/bin/php
479+
Protoc: 3.13.0 - /usr/local/bin/protoc
480+
Python: 2.7.17 - /usr/local/bin/python
481+
Python3: 3.8.5 - /usr/local/bin/python3
482+
Ruby: 2.6.6 - /Users/travis/.rvm/rubies/ruby-2.6.6/bin/ruby
483+
Databases:
484+
PostgreSQL: 12.4 - /usr/local/bin/postgres
485+
SQLite: 3.28.0 - /usr/bin/sqlite3
486+
Browsers:
487+
Safari: 14.0
488+
```
489+
490+
### Travis CI (android)
435491

436492
```shell script
437493
System:

README.md

+3-7
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,21 @@ Then I add a lot of native libraries to check how it cause build time (see colum
1010

1111

1212
- [Environment information ENVINFO.md](#environment-information-envinfomd)
13-
- [Android builds](#android-builds)
14-
- [iOS builds (TODO)](#ios-builds-todo)
13+
- [Builds speed](#builds-speed)
1514
- [Limitations of CI/CD services](#limitations-of-cicd-services)
1615

1716
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
1817

1918

2019
## Environment information [ENVINFO.md](ENVINFO.md)
2120

22-
## Android builds
21+
## Builds speed
2322

2423
| CI | Status | Android | iOS |
2524
|---|---|---|---|
2625
| [AppCenter](https://appcenter.ms/) | [![appcenter](https://build.appcenter.ms/v0.1/apps/160707ba-61e6-4bca-a26c-a9e6927ae70a/branches/main/badge)](https://appcenter.ms/users/offantik/apps/Android-CI-CD-test/build/branches/main) | 3m25s/6m22s | 19m21s/22s12s |
2726
| [Travis CI](https://docs.travis-ci.com/user/languages/android/) | [![Build Status](https://travis-ci.org/retyui/react-native-ci-cd-compare.svg?branch=main)](https://travis-ci.org/retyui/react-native-ci-cd-compare) | 3m29s/6m38s | |
28-
| [Circle CI](https://circleci.com/circleci-react/) | [![CircleCI](https://circleci.com/gh/retyui/react-native-ci-cd-compare.svg?style=svg)](https://circleci.com/gh/retyui/react-native-ci-cd-compare) | 2m22s/4m19s 🚀 | |
27+
| [Circle CI](https://circleci.com/circleci-react/) | [![CircleCI](https://circleci.com/gh/retyui/react-native-ci-cd-compare.svg?style=svg)](https://circleci.com/gh/retyui/react-native-ci-cd-compare) | 2m22s/4m19s 🚀 | n/a |
2928
| [GitHub Actions](https://github.com/features/actions) | [![Build Android](https://github.com/retyui/react-native-ci-cd-compare/workflows/Build%20Android/badge.svg)](https://github.com/retyui/react-native-ci-cd-compare/actions/) | 2m44s/4m56s 🚀 | 13m53s/ |
3029
| [Bitrise](https://devcenter.bitrise.io/getting-started/getting-started-with-react-native-apps/) | [![Build Status](https://app.bitrise.io/app/6763bd2429233088/status.svg?token=4XQvHAYUO0CNdNq683DupA)](https://app.bitrise.io/app/6763bd2429233088) | 3m16s/10m57s | |
3130
| [Codemagic](https://codemagic.io/react-native-continuous-integration/) | [n/a](https://codemagic.io/app/5f9d65de4758a77daf27b4d4) | 5m18s/6m58s | |
@@ -37,9 +36,6 @@ Then I add a lot of native libraries to check how it cause build time (see colum
3736
| [Azure DevOps](https://techcommunity.microsoft.com/t5/windows-dev-appconsult/using-azure-devops-to-create-a-ci-cd-pipeline-for-an-android/ba-p/1094422) | [![Build Status](https://dev.azure.com/retyui/react-native-ci-cd-compare/_apis/build/status/retyui.react-native-ci-cd-compare?branchName=refs%2Fpull%2F1%2Fmerge)](https://dev.azure.com/retyui/react-native-ci-cd-compare/_build/latest?definitionId=1&branchName=refs%2Fpull%2F1%2Fmerge) | 4m4s/6m26s | |
3837

3938

40-
## iOS builds (TODO)
41-
42-
4339
## Limitations of CI/CD services
4440

4541
- [App Center Pricing](https://docs.microsoft.com/en-us/appcenter/general/pricing#the-free-tier) **1 build** pipeline per organization or user account, **240 build minutes** per **month**, and up to 30 minutes per build

0 commit comments

Comments
 (0)