-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from stickytools/ci-cd
CI/CD
- Loading branch information
Showing
7 changed files
with
185 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
coverage: | ||
ignore: | ||
- cmake-debug-build/* | ||
- Example/* | ||
- Scripts/* | ||
- Documentaion/* | ||
- Tests/* | ||
- Pods/* | ||
- Applications/Xcode.app/* | ||
- vendor/* | ||
- Carthage/* | ||
- build/* | ||
- .build/* | ||
- .vagrant/* | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
language: generic | ||
|
||
git: | ||
submodules: false | ||
|
||
notifications: | ||
slack: | ||
secure: "kgflM3rOhAUsGm6hbs7VUJcXr+FCcslBsg8tRVre569mzI+eMUauMtJINdhRn5nGwUXGinvORbFwmHHh+2TJrYGVCg/FZzTlm3dCdziiGnJnZ+6Pj4vGCgRlpawSSpRuUEYORRzCA9p2GKMKU2hBYPGGzshUfWq5XGJtyWBJuTAqKAP3Foc2kHL7ANFgmo48Nhc2T2CCXW9uFZ98M9Vpg5pi0PRKpEIywUz//xvP6MCmtuXzpQKTVT9IsvFtDJn4R+RZ//geNyJm+u5AlX6PNrQ7y2fqW0wmPJdwAh2E9EoZE2bWD/xL0W+J27kGTeEHkyPmDo7SPsbyhD5Y/rViXOSZXi3PICFAzJ7z1WkhgpzpV2J1JEKcqPSfjq2ZQiE0ZkDUfr/HekYrHgu6IKzB4PCZn6la3c7ncEGNXUzrWmrFip60D34/xsjW8Frh2JOwzs+iQbYunxS/UVuhCH4AXfdZ9uqGBmjKfWxyj+KERYqX3AyyftmZBvLJ0gOjYhUqoD8gBcZCS1KdVXpTMBsnJpMohoyHb8wuAB6e45eQz7ayaqaLaiUBlRqmz3AwVyL6MKXvUhTYwx1YeRRfOM7WEIOnXB9FeyFyvhJuQvvRfY2Mp6LiUyfpdl3wRN18xUZqD65ThPoqe9HB/V8seg+5kfhEPqlFEXpf2WPAJf4IYW8=" | ||
|
||
env: | ||
global: | ||
- PROJECT=StickyLocking.xcodeproj | ||
- SCHEME=StickyLocking-Package | ||
- TEST_SDK=iphonesimulator | ||
|
||
matrix: | ||
include: | ||
- | ||
os: linux | ||
dist: trusty | ||
sudo: required | ||
env: | ||
- BUILD="cmake build" | ||
- | ||
os: osx | ||
osx_image: xcode9.3 | ||
env: | ||
- BUILD="cmake build" | ||
- | ||
os: linux | ||
dist: trusty | ||
sudo: required | ||
env: | ||
- BUILD="swift build" | ||
- | ||
os: osx | ||
osx_image: xcode9.3 | ||
env: | ||
- BUILD="swift build" | ||
- | ||
os: osx | ||
osx_image: xcode9.3 | ||
env: | ||
- BUILD="pod lint" | ||
- | ||
os: osx | ||
osx_image: xcode9.3 | ||
env: | ||
- BUILD="xcodebuild" | ||
- TEST_DEST="platform=iOS Simulator,OS=11.3,name=iPhone 8" | ||
|
||
|
||
# don't re-build for tags so that [publish binary] is not re-run | ||
# https://github.com/travis-ci/travis-ci/issues/1532 | ||
branches: | ||
except: | ||
- /^[0-9]/ | ||
|
||
before_install: | ||
# | ||
# If there is a Gemfile for this os, install bundler and ask bundler to install the gems | ||
# | ||
- | | ||
if [ -e Gemfile ]; then | ||
export BUNDLE_GEMFILE=Gemfile | ||
gem install bundler | ||
bundler install | ||
fi | ||
# | ||
# OSX requires swiftlint be installed | ||
# | ||
- | | ||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then | ||
brew unlink swiftlint | ||
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/b4bd27d43e3df20735e2704eaf05b37ce5a6d626/Formula/swiftlint.rb | ||
fi | ||
# | ||
# Linux requires downloading Swift and tools | ||
# | ||
- | | ||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then | ||
sudo apt-get update -y | ||
sudo apt-get -y install clang-3.8 lldb-3.8 libicu-dev | ||
wget https://swift.org/builds/swift-4.1-release/ubuntu1404/swift-4.1-RELEASE/swift-4.1-RELEASE-ubuntu14.04.tar.gz | ||
tar xzvf swift-4.1-RELEASE-ubuntu14.04.tar.gz | ||
export PATH=$(pwd)/swift-4.1-RELEASE-ubuntu14.04/usr/bin:$PATH | ||
fi | ||
script: | ||
- | | ||
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then | ||
# Fix travis issue: https://github.com/travis-ci/travis-ci/issues/6307 | ||
rvm get head --auto-dotfiles || true | ||
fi | ||
- | | ||
if [[ "$BUILD" == "cmake build" ]]; then | ||
set -e # Fail (and stop build) on first non zero exit code | ||
cmake ./ | ||
make tests | ||
set +e | ||
fi | ||
- | | ||
if [[ "$BUILD" == "swift build" ]]; then | ||
set -e # Fail (and stop build) on first non zero exit code | ||
swift test | ||
set +e | ||
fi | ||
- | | ||
if [[ "$BUILD" == "pod lint" ]]; then | ||
set -e # Fail (and stop build) on first non zero exit code | ||
bundler exec pod repo update | ||
bundler exec pod lib lint | ||
set +e | ||
fi | ||
- | | ||
if [[ "$BUILD" == "xcodebuild" ]]; then | ||
set -e # Fail (and stop build) on first non zero exit code | ||
cmake ./ | ||
make xcode-project | ||
set -o pipefail | ||
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$TEST_DEST" -sdk "$TEST_SDK" -enableCodeCoverage YES build-for-testing | bundler exec xcpretty | ||
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$TEST_DEST" -sdk "$TEST_SDK" -enableCodeCoverage YES test | bundler exec xcpretty | ||
set +o pipefail | ||
set +e | ||
fi | ||
after_success: | ||
- bash <(curl -s https://codecov.io/bash) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
source 'https://rubygems.org' | ||
gem 'cocoapods', '~> 1.5.0' | ||
gem 'xcpretty', '~> 0.2.4' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
|
||
Pod::Spec.new do |s| | ||
s.name = "StickyLocking" | ||
s.version = "1.0.0-beta.1" | ||
s.summary = "A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types." | ||
|
||
s.homepage = "https://github.com/stickytools/sticky-locking" | ||
s.license = 'Apache License, Version 2.0' | ||
s.author = { "Tony Stone" => "https://github.com/tonystone" } | ||
s.source = { :git => "https://github.com/stickytools/sticky-locking.git", :tag => s.version.to_s } | ||
|
||
s.swift_version = '4.0' | ||
|
||
s.ios.deployment_target = '8.0' | ||
s.osx.deployment_target = '10.10' | ||
s.watchos.deployment_target = '2.0' | ||
s.tvos.deployment_target = '9.0' | ||
|
||
s.requires_arc = true | ||
|
||
s.source_files = 'Sources/StickyLocking/**/*.swift' | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters