forked from sunshinejr/SwiftyUserDefaults
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
143 lines (134 loc) · 5.54 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
language: generic
matrix:
include:
- os: osx
osx_image: xcode11.3
name: Danger
env:
- CACHE_NAME=SWIFT5_1
- SWIFT_VERSION=5.0
- SWIFT_TOOLS_VERSION=5.1
- XCODEGEN_VERSION=2.5.0
- IOS_SIMULATOR='name=iPhone 11,OS=13.2'
- IOS_SDK=iphonesimulator13.2
- TVOS_SIMULATOR='name=Apple TV 4K (at 1080p)'
- TVOS_SDK=appletvsimulator13.2
- WATCHOS_SIMULATOR='name=Apple Watch Series 4 - 44mm'
- WATCHOS_SDK=watchsimulator6.1
before_install:
- brew install danger/tap/danger-swift
script: DEBUG="*" danger-swift ci
- os: osx
osx_image: xcode11.3
name: Swift 5.1 compatibility
env:
- CACHE_NAME=SWIFT5_1
- SWIFT_VERSION=5.0
- SWIFT_TOOLS_VERSION=5.1
- XCODEGEN_VERSION=2.5.0
- IOS_SIMULATOR='name=iPhone 11,OS=13.0'
- IOS_SDK=iphonesimulator13.0
- TVOS_SIMULATOR='name=Apple TV 4K (at 1080p)'
- TVOS_SDK=appletvsimulator13.0
- WATCHOS_SIMULATOR='name=Apple Watch Series 4 - 44mm'
- WATCHOS_SDK=watchsimulator6.0
- os: osx
osx_image: xcode10.2
name: Swift 5.0 compatibility
env:
- CACHE_NAME=SWIFT5_0
- SWIFT_VERSION=5.0
- SWIFT_TOOLS_VERSION=5.0
- XCODEGEN_VERSION=2.5.0
- IOS_SIMULATOR='name=iPhone 6s,OS=12.2'
- IOS_SDK=iphonesimulator12.2
- TVOS_SIMULATOR='name=Apple TV 4K (at 1080p)'
- TVOS_SDK=appletvsimulator12.2
- WATCHOS_SIMULATOR='name=Apple Watch Series 4 - 44mm'
- WATCHOS_SDK=watchsimulator5.2
# - os: linux
# sudo: required
# dist: trusty
# name: Swift 5.0 compatibility
# env:
# - CACHE_NAME=LINUX_SWIFT5_0
# - SWIFT_VERSION=5.0-dev
# before_install:
# - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)"
# script:
# - swift test
- os: osx
osx_image: xcode10.1
name: Swift 4.2 compatibility
env:
- CACHE_NAME=SWIFT4_2
- SWIFT_VERSION=4.2
- SWIFT_TOOLS_VERSION=4.2
- XCODEGEN_VERSION=2.3.0
- IOS_SIMULATOR='name=iPhone 6s,OS=12.1'
- IOS_SDK=iphonesimulator12.1
- TVOS_SIMULATOR='name=Apple TV 4K (at 1080p)'
- TVOS_SDK=appletvsimulator12.1
- WATCHOS_SIMULATOR='name=Apple Watch - 42mm'
- WATCHOS_SDK=watchsimulator5.1
# - os: linux
# sudo: required
# dist: trusty
# name: Swift 4.2 compatibility
# env:
# - CACHE_NAME=LINUX_SWIFT4_2
# - SWIFT_VERSION=4.2
# before_install:
# - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)"
# script:
# - swift test
- os: osx
osx_image: xcode10.1
name: Swift 4.1 compatibility
env:
- CACHE_NAME=SWIFT4_1
- SWIFT_VERSION=4.0
- SWIFT_TOOLS_VERSION=4.0
- XCODEGEN_VERSION=2.3.0
- IOS_SIMULATOR='name=iPhone 6s,OS=12.1'
- IOS_SDK=iphonesimulator12.1
- TVOS_SIMULATOR='name=Apple TV 4K (at 1080p)'
- TVOS_SDK=appletvsimulator12.1
- WATCHOS_SIMULATOR='name=Apple Watch - 42mm'
- WATCHOS_SDK=watchsimulator5.1
notifications:
email: false
cache:
edge: true
directories:
- Carthage
- .build
env:
global:
- LC_CTYPE=en_US.UTF-8
- LANG=en_US.UTF-8
- PROJECT=SwiftyUserDefaults.xcodeproj
before_install:
- gem install cocoapods -v 1.6.0
- gem install xcpretty
- git clone https://github.com/yonaskolb/XcodeGen.git && cd XcodeGen && git checkout $XCODEGEN_VERSION && make && cd ../
script:
- set -o pipefail
# - if [[ "$SWIFT_VERSION" != "5.0" ]]; then mv Cartfile_4.2.private Cartfile.private; fi
# - if [[ "$SWIFT_VERSION" != "5.0" ]]; then mv Cartfile_4.2.resolved Cartfile.resolved; fi
# - carthage update --no-use-binaries --cache-builds --verbose
# - xcodebuild -version
# - xcodebuild -showsdks
- xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' -sdk $IOS_SDK -destination "$IOS_SIMULATOR" ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION build | xcpretty
- xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' -sdk $TVOS_SDK -destination "$TVOS_SIMULATOR" ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION build | xcpretty
- xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' -sdk $WATCHOS_SDK -destination "$WATCHOS_SIMULATOR" ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION build | xcpretty
- xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION build | xcpretty
# - xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' -sdk $IOS_SDK -destination "$IOS_SIMULATOR" ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION test | xcpretty
# - xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' -sdk $TVOS_SDK -destination "$TVOS_SIMULATOR" ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO SWIFT_VERSION=$SWIFT_VERSION test | xcpretty
# - xcodebuild -project "$PROJECT" -scheme 'SwiftyUserDefaults' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO test | xcpretty
- swift build
- TEST=1 swift test
- pod lib lint
- scripts/cocoapods_integration_step.sh
- scripts/carthage_integration_step.sh
- scripts/spm_integration_step.sh $SWIFT_VERSION