Skip to content

Commit

Permalink
Automating publication of new releases (closes #337)
Browse files Browse the repository at this point in the history
  • Loading branch information
knservis committed Aug 1, 2019
1 parent 20e6da2 commit 9dadd74
Show file tree
Hide file tree
Showing 8 changed files with 198 additions and 105 deletions.
2 changes: 1 addition & 1 deletion .slather.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
coverage_service: coveralls
xcodeproj: Snowplow.xcodeproj
workspace: Snowplow.xcworkspace
scheme: Snowplow
scheme: Snowplow-iOS
60 changes: 50 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,53 @@
language: objective-c
osx_image: xcode10.2

xcode_workspace: Snowplow.xcworkspace

stages:
- lint
- test
- name: deploy
if: tag IS present

jobs:
include:
- stage: lint
install: gem install cocoapods
script: pod lib lint --allow-warnings

# # FIXME: This test fails due to platform specific deps
# # - <<: *test
# # stage: test
# # xcode_scheme: Snowplow-macOS
# # xcode_destination: platform=macOS
# # before_script:
# # - carthage update --platform macOS
# # - pod install

- &test
stage: test
xcode_scheme: Snowplow-iOS
xcode_destination: platform=iOS Simulator,OS=12.1,name=iPhone X
before_script:
- carthage update --platform iOS
- pod install
after_success:
- gem install slather
- slather

- stage: deploy
script: pod trunk push --verbose --allow-warnings
osx_image: xcode10.2
language: objective-c
xcode_scheme: Snowplow-iOS
xcode_workspace: Snowplow.xcworkspace
on:
condition: $(< VERSION) == $TRAVIS_TAG
tags: true

env:
- TEST_PLATFORM="platform=iOS Simulator,OS=12.1,name=iPhone XR"
rvm:
- 2.3.7
before_install:
- gem install slather
- gem install xcpretty -N --no-document
install:
- ./.travis/install.sh
script: ./.travis/test.sh
after_success: slather
global:
- secure: FfsA8B/GHFnIst46Z9Z2VNzd38NTsRp/DLF3IGDWTZAUFMRqVVu2fC/KmfOMH47XMqhtdvOkAjCf0K9BzDrpEwypAz4h5BoZPR7x+sz5eZ91jSKGAK7R8JWvj2hihoPSCc+ytXQwQFZYzP1hM6Wfyc+37riU7w00eJEz3vexD3w=
- CODE_SIGNING_REQUIRED=NO
- CODE_SIGN_IDENTITY=""

77 changes: 17 additions & 60 deletions Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,69 +7,26 @@
source 'https://github.com/CocoaPods/Specs.git'
target 'Snowplow-iOS' do
inherit! :search_paths
platform :ios, '8.0'
pod 'FMDB', '2.6.2'
pod 'ReachabilitySwift'
platform :ios, '8.4'
pod 'FMDB'
pod 'Reachability'
end

target 'Snowplow-macOS' do
pod 'FMDB', '2.6.2'
pod 'FMDB'
platform :osx, '10.9'
end

target 'Snowplow-iOSTests' do
inherit! :search_paths
platform :ios, '8.0'
pod 'Nocilla'
pod 'SnowplowIgluClient', :git => 'https://github.com/snowplow/iglu-objc-client.git', :branch => 'feature/carthage'
end

target 'Snowplow-macOSTests' do
platform :osx, '10.9'
pod 'Nocilla'
pod 'SnowplowIgluClient', :git => 'https://github.com/snowplow/iglu-objc-client.git', :branch => 'feature/carthage'
end

post_install do |installer|
handle_sqlite3 installer
installer.pods_project.targets.each do |target|
if ['ReachabilitySwift'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.2'
end
end
end
end

def handle_sqlite3 installer
# We need to remove sqlite3 from the library
# For details see: https://github.com/CocoaPods/CocoaPods/issues/830
default_library = installer.aggregate_targets.detect { |i| i.target_definition.name == 'Snowplow-iOS' }
[default_library.xcconfig_relative_path('Debug'), default_library.xcconfig_relative_path('Release')].each do |path|
path = File.expand_path(File.join(File.dirname(__FILE__), path))
File.open("config.tmp", "w") do |io|
f = File.read(path)
f.gsub!(/-l"sqlite3"/, '')
io << f
end
FileUtils.mv("config.tmp", path)
end

# We need to add sqlite3 into the test suite
default_library = installer.aggregate_targets.detect { |i| i.target_definition.name == 'Snowplow-iOSTests' }
[default_library.xcconfig_relative_path('Debug'), default_library.xcconfig_relative_path('Release')].each do |path|
path = File.expand_path(File.join(File.dirname(__FILE__), path))
File.open("config.tmp", "w") do |io|
f = File.read(path)
f.gsub!(/(OTHER_LDFLAGS =)/, '\1 -l"sqlite3"')
io << f
end
FileUtils.mv("config.tmp", path)
end

installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
# FIXME: Is this needed?
# target 'Snowplow-iOSTests' do
# inherit! :search_paths
# platform :ios, '8.4'
# pod 'Nocilla'
# pod 'SnowplowIgluClient', :git => 'https://github.com/snowplow/iglu-objc-client.git', :branch => 'feature/carthage'
# end

# target 'Snowplow-macOSTests' do
# platform :osx, '10.9'
# pod 'Nocilla'
# pod 'SnowplowIgluClient', :git => 'https://github.com/snowplow/iglu-objc-client.git', :branch => 'feature/carthage'
# end
41 changes: 10 additions & 31 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,43 +1,22 @@
PODS:
- FMDB (2.6.2):
- FMDB/standard (= 2.6.2)
- FMDB/standard (2.6.2)
- Nocilla (0.11.0)
- ReachabilitySwift (4.3.0)
- SnowplowIgluClient (0.1.1):
- VVJSONSchemaValidation (~> 1.5.0)
- VVJSONSchemaValidation (1.5.0)
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- Reachability (3.2)

DEPENDENCIES:
- FMDB (= 2.6.2)
- Nocilla
- ReachabilitySwift
- SnowplowIgluClient (from `https://github.com/snowplow/iglu-objc-client.git`, branch `feature/carthage`)
- FMDB
- Reachability

SPEC REPOS:
https://github.com/cocoapods/specs.git:
- FMDB
- Nocilla
- ReachabilitySwift
- VVJSONSchemaValidation

EXTERNAL SOURCES:
SnowplowIgluClient:
:branch: feature/carthage
:git: https://github.com/snowplow/iglu-objc-client.git

CHECKOUT OPTIONS:
SnowplowIgluClient:
:commit: 10b9758ef35c21d4bfee9c11d8f4813347a50097
:git: https://github.com/snowplow/iglu-objc-client.git
- Reachability

SPEC CHECKSUMS:
FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a
Nocilla: 7af7a386071150cc8aa5da4da97d060f049dd61c
ReachabilitySwift: 408477d1b6ed9779dba301953171e017c31241f3
SnowplowIgluClient: 4cda3cca105c844bea49b45e30145dc35cb5208d
VVJSONSchemaValidation: 40411ea98f65d065a7c2ce7483876106bf710e9b
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96

PODFILE CHECKSUM: 047bc905c385190179c8d68cd4481474c8e05932
PODFILE CHECKSUM: d13bd2e190887d612fa90523be03ee4d9f38a0df

COCOAPODS: 1.5.3
Loading

0 comments on commit 9dadd74

Please sign in to comment.