Skip to content

Commit ebf0476

Browse files
authored
Travis: additional builds and Codecov (#17)
* Add watchOS and tvOS builds to travis along with codecov * fix code signing of new builds * fix codecov * add jazzy and codecov badge * install jazzy in travis * don't source ruby, use what's in image * install jazzy directly in travis * add Gemfile and lock file to see if it speeds up build * remove gemfiles * test linux build * remove linux build, it doesn't have Keychain or URLSession * add OS build types to SPM * update * test running tests for each build * update travis * add workspace * combine * only build/test for iOS, just build for others * only build/test for iOS, just build for others * add deploy * update deploy * fix file structure of docs * add secure token * cache jazzy * add version to jazzy * silence travis warnings * test circle * update circle * update secure token * adding rest to circle * update * update * update * add back rest to circle * update * add lockfile * use travis for docs, circle for everything else * add codecov ym; remove codecov from reademe * add sequential workflow * drop version * add colons * run tests in order * update * see if dpl2 fixes docs deployment * test all schemes with no arch * see if other platforms will test * revert * try dpl2 again * revert * ignore test files in codecov * move pods back to travis * move carthage to travis, pods to circle * move pods to travis, carthage to circle * move all deployments to travis * move carthage back to circle * nit
1 parent 4828762 commit ebf0476

16 files changed

Lines changed: 674 additions & 36 deletions

File tree

.circleci/config.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
version: 2.1
2+
3+
defaults: &defaults
4+
macos:
5+
xcode: 11.6.0
6+
shell: /bin/bash --login -eo pipefail
7+
8+
aliases:
9+
- &prepare
10+
|
11+
HOMEBREW_NO_AUTO_UPDATE=1 brew install swiftlint
12+
13+
jobs:
14+
ios-build-test:
15+
<<: *defaults
16+
steps:
17+
- checkout
18+
- run: *prepare
19+
- run: xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift\ \(iOS\) -destination platform\=iOS\ Simulator,OS\=13.6,name\=iPhone\ 11\ Pro\ Max build test | xcpretty
20+
- store_test_results:
21+
path: build/reports
22+
macos-build:
23+
<<: *defaults
24+
steps:
25+
- checkout
26+
- run: *prepare
27+
- run: xcodebuild -target ParseSwift\ \(macOS\) | xcpretty
28+
- store_test_results:
29+
path: build/reports
30+
tvos-build:
31+
<<: *defaults
32+
steps:
33+
- checkout
34+
- run: *prepare
35+
- run: xcodebuild -target ParseSwift\ \(tvOS\) | xcpretty
36+
- store_test_results:
37+
path: build/reports
38+
watchos-build:
39+
<<: *defaults
40+
steps:
41+
- checkout
42+
- run: *prepare
43+
- run: xcodebuild -target ParseSwift\ \(watchOS\) | xcpretty
44+
- store_test_results:
45+
path: build/reports
46+
spm-build-test:
47+
<<: *defaults
48+
steps:
49+
- checkout
50+
- run: *prepare
51+
- run: swift build
52+
- run: swift test --enable-code-coverage
53+
- run: xcrun llvm-cov export -format="lcov" .build/debug/ParseSwiftPackageTests.xctest/Contents/MacOS/ParseSwiftPackageTests -instr-profile .build/debug/codecov/default.profdata > info.lcov
54+
- run: bash <(curl https://codecov.io/bash)
55+
- store_test_results:
56+
path: build/reports
57+
carthage:
58+
<<: *defaults
59+
steps:
60+
- checkout
61+
- run: *prepare
62+
- run: carthage build --no-skip-current
63+
- store_test_results:
64+
path: build/reports
65+
66+
workflows:
67+
version: 2.1
68+
build-test-lint:
69+
jobs:
70+
- ios-build-test
71+
- macos-build:
72+
requires:
73+
- ios-build-test
74+
- tvos-build:
75+
requires:
76+
- ios-build-test
77+
- watchos-build:
78+
requires:
79+
- ios-build-test
80+
- spm-build-test:
81+
requires:
82+
- ios-build-test
83+
- carthage:
84+
requires:
85+
- spm-build-test

.codecov.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
coverage:
2+
ignore:
3+
- Tests/ParseSwiftTests/.*
4+
status:
5+
patch: true
6+
changes: false
7+
project:
8+
default:
9+
target: 30
10+
comment:
11+
require_changes: true

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
build/
77
DerivedData/
88
.swiftpm
9+
docs/
910

1011
## Various settings
1112
*.pbxuser

.travis.yml

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1+
os: osx
12
osx_image: xcode11.6
2-
language: swift
3-
stage: Build
4-
env:
5-
matrix:
6-
- TARGET="ParseSwift (macOS)"
7-
- TARGET="ParseSwift (iOS)"
8-
script: set -o pipefail && xcodebuild -target "$TARGET" | xcpretty
3+
language: objective-c
4+
cache:
5+
- jazzy
96

107
jobs:
11-
include:
12-
- stage: package managers
13-
env: Swift Pacakge Manager
14-
script:
15-
- swift build
16-
- swift test --enable-test-discovery
17-
- stage: package managers
8+
include:
9+
- stage: Deployment
1810
env: Cocoapods
1911
script: pod lib lint
20-
- stage: package managers
21-
env: Carthage
22-
script: carthage build --no-skip-current
23-
12+
- stage: Deployment
13+
env: Docs
14+
script:
15+
- gem install jazzy -v 0.13.5
16+
- ./Scripts/jazzy.sh
17+
deploy:
18+
- provider: pages
19+
strategy: api
20+
skip_cleanup: true
21+
token:
22+
secure: qgW5RfY0wfegdZ3qNZ/33XxwTRTol9GuX8g1nQkXGUm6gbrAXKjpWdg72jmBDGCZU4RZxzGJP/REtf+tCtJ8e1iEQIpJd/qcbFcb1r99if2ZZJB4IzNDsSafLhJF23lCJRoVRnNVgOxDfT6R1wywAWM7J9SogEvQwd2Ghw9uS98DAV6pm4zZlp+obOU1NYz4bvxkzKiunbOJeEJ450psvDOnZRMmAbunaopnG/tzYtA/NWGFCjARNmhD6N/3LeCegK1KLiOVF1J2Hob0MLom6NW5arvvFVYBTq2dEYNmgpO0A0Gabhr/S7OkXhNWkVBjsNfnRL3OmcPmTDpC9iLoES7zWfd6jHrrUv7wiLrmFoEdOaRrv0fELUaKsHITIjJDWZ7GD57fxHBmcu7pnajEUT0N0s8wXA0Cor5xYLiBrDJLdcV0TaREWpG6gB+XI7+YtkKryTySEv5Lnoq6XqGd4lM5P8IRfjyvLqUzdOjCpUeTcs44u5HVoXK5S+BfR8BXmoc1sz6Z0+gkJfB6twA4SBOlD2wwblwj7MvN9/2nFd8HHPTUuETvkHX15udAuS0R9a3Wu2ENQrWmA5xsdk2+2Jhqdnq3j+ZE8gyuXmwqLbP08q3qnqvOS+/lcy3A9/73Y1ad5XPHhuw6tNg6RCTI7x8mToIl6a8EU0AcVnp0EME=
23+
local_dir: docs/
24+
on:
25+
all_branches: true

Package.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import PackageDescription
44

55
let package = Package(
66
name: "ParseSwift",
7+
platforms: [.iOS(.v8), .macOS(.v10_12), .tvOS(.v9), .watchOS(.v3)],
78
products: [
89
.library(
910
name: "ParseSwift",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

ParseSwift-macOS/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<key>CFBundleVersion</key>
2020
<string>$(CURRENT_PROJECT_VERSION)</string>
2121
<key>NSHumanReadableCopyright</key>
22-
<string>Copyright © 2017 Parse. All rights reserved.</string>
22+
<string>Copyright © 2020 Parse Community. All rights reserved.</string>
2323
<key>NSPrincipalClass</key>
2424
<string></string>
2525
</dict>

ParseSwift-tvOS/Info.plist

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleVersion</key>
20+
<string>$(CURRENT_PROJECT_VERSION)</string>
21+
</dict>
22+
</plist>

ParseSwift-tvOS/ParseSwift_tvOS.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// ParseSwift_tvOS.h
3+
// ParseSwift-tvOS
4+
//
5+
// Created by Corey Baker on 7/30/20.
6+
// Copyright © 2020 Parse Community. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
//! Project version number for ParseSwift_tvOS.
12+
FOUNDATION_EXPORT double ParseSwift_tvOSVersionNumber;
13+
14+
//! Project version string for ParseSwift_tvOS.
15+
FOUNDATION_EXPORT const unsigned char ParseSwift_tvOSVersionString[];
16+
17+
// In this header, you should import all the public headers of your framework using statements like #import <ParseSwift_tvOS/PublicHeader.h>
18+
19+

ParseSwift-watchOS/Info.plist

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleVersion</key>
20+
<string>$(CURRENT_PROJECT_VERSION)</string>
21+
</dict>
22+
</plist>

0 commit comments

Comments
 (0)