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 Jul 31, 2019
1 parent 20e6da2 commit 3eba86b
Show file tree
Hide file tree
Showing 8 changed files with 277 additions and 69 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
59 changes: 48 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,50 @@
language: objective-c
osx_image: xcode10.2
osx_image: xcode11

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
# name: OSX / Xcode 11
# xcode_scheme: Snowplow-macOS
# xcode_destination: platform=macOS
# before_script:
# - carthage update --platform macOS
# - pod install

- &test
stage: test
name: iOS / Xcode 11
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
os: ios
osx_image: xcode11
language: objective-c
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
secure: FfsA8B/GHFnIst46Z9Z2VNzd38NTsRp/DLF3IGDWTZAUFMRqVVu2fC/KmfOMH47XMqhtdvOkAjCf0K9BzDrpEwypAz4h5BoZPR7x+sz5eZ91jSKGAK7R8JWvj2hihoPSCc+ytXQwQFZYzP1hM6Wfyc+37riU7w00eJEz3vexD3w=
50 changes: 3 additions & 47 deletions Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ 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'
pod 'FMDB'
pod 'Reachability'
end

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

Expand All @@ -29,47 +29,3 @@ target 'Snowplow-macOSTests' do
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
14 changes: 7 additions & 7 deletions Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@ PODS:
- FMDB/standard (= 2.6.2)
- FMDB/standard (2.6.2)
- Nocilla (0.11.0)
- ReachabilitySwift (4.3.0)
- Reachability (3.2)
- SnowplowIgluClient (0.1.1):
- VVJSONSchemaValidation (~> 1.5.0)
- VVJSONSchemaValidation (1.5.0)

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

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

EXTERNAL SOURCES:
Expand All @@ -34,10 +34,10 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a
Nocilla: 7af7a386071150cc8aa5da4da97d060f049dd61c
ReachabilitySwift: 408477d1b6ed9779dba301953171e017c31241f3
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
SnowplowIgluClient: 4cda3cca105c844bea49b45e30145dc35cb5208d
VVJSONSchemaValidation: 40411ea98f65d065a7c2ce7483876106bf710e9b

PODFILE CHECKSUM: 047bc905c385190179c8d68cd4481474c8e05932
PODFILE CHECKSUM: a289f83e5e6da14c0e76638401b15d22ecb80fb0

COCOAPODS: 1.5.3
COCOAPODS: 1.7.3
Loading

0 comments on commit 3eba86b

Please sign in to comment.