mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-23 17:28:22 +00:00
Summary: project: - fix file target membership issues in framework targets and test targets - fix private/internal header imports, which shouldn't be `<IGListKit/` apparently - fix static analyzer errors travis: - always install latest swiftlint - ~~don't cache bundler, attempts to fix #1060~~ - remove markdown link check swiftlint: - make script non-failing if *any* version of swiftlint is installed - warning if incorrect version is installed - fail if not installed - remove `scripts/generate_ci_yaml.rb`, we can just set the config file path directly Closes https://github.com/Instagram/IGListKit/pull/1068 Differential Revision: D6885575 Pulled By: rnystrom fbshipit-source-id: 51b7baa73feefcea71d870c1220d0382df484199
89 lines
3.9 KiB
YAML
89 lines
3.9 KiB
YAML
language: objective-c
|
|
osx_image: xcode9.2
|
|
gemfile: Gemfile
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- stable
|
|
|
|
cache:
|
|
- cocoapods
|
|
- bundler
|
|
|
|
env:
|
|
global:
|
|
- LANG=en_US.UTF-8
|
|
- WORKSPACE="IGListKit.xcworkspace"
|
|
|
|
- IOS_SCHEME="IGListKit"
|
|
- TVOS_SCHEME="IGListKit-tvOS"
|
|
- MACOS_SCHEME="IGListKit-macOS"
|
|
|
|
- IOS_SDK=iphonesimulator11.2
|
|
- MACOS_SDK=macosx10.13
|
|
- TVOS_SDK=appletvsimulator11.2
|
|
|
|
- IOS_EXAMPLE_WORKSPACE="Examples/Examples-iOS/IGListKitExamples.xcworkspace"
|
|
- TVOS_EXAMPLE_WORKSPACE="Examples/Examples-tvOS/IGListKitExamples.xcworkspace"
|
|
- MACOS_EXAMPLE_WORKSPACE="Examples/Examples-macOS/IGListKitExamples.xcworkspace"
|
|
- EXAMPLE_SCHEME="IGListKitExamples"
|
|
|
|
matrix:
|
|
- DESTINATION="OS=9.3,name=iPad Air 2" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="NO" RUN_UI_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="YES"
|
|
- DESTINATION="OS=10.3.1,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" RUN_UI_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
- DESTINATION="OS=11.2,name=iPhone X" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" RUN_UI_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
|
- DESTINATION="OS=10.2,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="NO" RUN_UI_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
- DESTINATION="OS=11.2,name=Apple TV 4K" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="NO" RUN_UI_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
|
- DESTINATION="arch=x86_64" SDK="$MACOS_SDK" SCHEME="$MACOS_SCHEME" RUN_TESTS="YES" RUN_UI_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
|
|
|
before_install:
|
|
# - gem install cocoapods --no-rdoc --no-ri --no-document --quiet
|
|
# - gem install bundler --no-rdoc --no-ri --no-document --quiet
|
|
# - bundle install
|
|
- brew update
|
|
- brew outdated swiftlint || brew upgrade swiftlint
|
|
|
|
script:
|
|
- set -o pipefail
|
|
- xcodebuild -version -sdk
|
|
|
|
|
|
- if [ $POD_LINT == "YES" ]; then
|
|
bundle exec pod lib lint;
|
|
fi
|
|
|
|
|
|
- if [ $BUILD_EXAMPLE == "YES" ] && [ $SDK == $IOS_SDK ]; then
|
|
xcodebuild build -workspace "$IOS_EXAMPLE_WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
|
fi
|
|
|
|
|
|
- if [ $RUN_UI_TESTS == "YES" ] && [ $SDK == $IOS_SDK ]; then
|
|
xcodebuild build test -workspace "$IOS_EXAMPLE_WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
|
fi
|
|
|
|
|
|
- if [ $BUILD_EXAMPLE == "YES" ] && [ $SDK == $TVOS_SDK ]; then
|
|
xcodebuild build -workspace "$TVOS_EXAMPLE_WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
|
fi
|
|
|
|
|
|
- if [ $BUILD_EXAMPLE == "YES" ] && [ $SDK == $MACOS_SDK ]; then
|
|
xcodebuild build -workspace "$MACOS_EXAMPLE_WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
|
fi
|
|
|
|
|
|
- if [ $RUN_TESTS == "YES" ]; then
|
|
xcodebuild build build-for-testing -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES ONLY_ACTIVE_ARCH=YES | bundle exec xcpretty -c;
|
|
xcodebuild analyze test-without-building -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES ONLY_ACTIVE_ARCH=YES | bundle exec xcpretty -c;
|
|
else
|
|
xcodebuild build analyze -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
|
fi
|
|
|
|
- bundle exec danger
|
|
|
|
after_success:
|
|
- bundle exec slather
|