Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize DispatchQueues to Dispatcher-protocol objects #888

Closed
wants to merge 27 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
132f608
First draft of Dispatcher conversion
GarthSnyder Jun 18, 2018
b4e39b5
Put back map(on: nil)
GarthSnyder Jun 18, 2018
8cd0121
Rename async() method args to forestall ambiguity; compiles
GarthSnyder Jun 18, 2018
18baef6
Working on Dispatcher tests
GarthSnyder Jun 20, 2018
1ac7e21
Make Dispatcher arguments nonoptional
GarthSnyder Jun 20, 2018
88b7937
Finish tests
GarthSnyder Jun 20, 2018
3516511
Generalize DispatchQueues to Dispatcher-protocol objects
GarthSnyder Jun 20, 2018
7c7835a
Port Thenable.tap and Guarantee.get to Dispatcher objects
GarthSnyder Aug 8, 2018
2cc021a
Travis-test Linux Swift 3 compatibility only with latest compiler
GarthSnyder Aug 9, 2018
70b0551
Use existing v7 Travis config file
GarthSnyder Dec 2, 2018
f8b0ead
First draft of Dispatcher conversion
GarthSnyder Jun 18, 2018
4ba57ed
Put back map(on: nil)
GarthSnyder Jun 18, 2018
262b4dd
Rename async() method args to forestall ambiguity; compiles
GarthSnyder Jun 18, 2018
044fe78
Working on Dispatcher tests
GarthSnyder Jun 20, 2018
0a027c8
Make Dispatcher arguments nonoptional
GarthSnyder Jun 20, 2018
855476a
Finish tests
GarthSnyder Jun 20, 2018
9e17e7d
Generalize DispatchQueues to Dispatcher-protocol objects
GarthSnyder Jun 20, 2018
686a1e6
Port Thenable.tap and Guarantee.get to Dispatcher objects
GarthSnyder Aug 8, 2018
d1a38a5
Fixed bug where pendingPromiseDeallocated event was incorrectly repor…
neallester Dec 14, 2018
0e90203
Update ObjectiveC.md
mxcl Dec 14, 2018
84f35e5
Add explicit import for Dispatch in tests (needed for Travis builds)
GarthSnyder Dec 15, 2018
1136163
Travis-build all branches in Travis TRAVIS_BRANCHES env variable
GarthSnyder Dec 16, 2018
8ae5bfa
v7 Travis: Swift 3 only on latest compiler, sync Linux test/build
GarthSnyder Dec 16, 2018
4689415
Save artifacts (env must define ARTIFACTS_* for KEY, SECRET, REGION, …
GarthSnyder Dec 16, 2018
f877a39
Disable artifact collection by default
GarthSnyder Dec 18, 2018
2c45b0b
Merge branch 'dispatch-v7' into dispatch
GarthSnyder Dec 18, 2018
68763cf
Revert commits 0e902 and d1a38; these were rebased in from master
GarthSnyder Dec 18, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
v7 Travis: Swift 3 only on latest compiler, sync Linux test/build
GarthSnyder committed Dec 18, 2018
commit 8ae5bfa30491b2df9c4850ae81816f9e6282bc22
132 changes: 61 additions & 71 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -7,48 +7,22 @@ stages:
if: branch = master OR branch =~ ^\d+\.\d+\.\d+$ OR branch =~ concat("^(",env(TRAVIS_BRANCHES),")$")
- name: deploy
if: branch =~ ^\d+\.\d+\.\d+$

jobs:
include:
- &carthage
stage: compile
osx_image: xcode8.3
name: Carthage / Xcode 8.3
os: osx
language: objective-c
script: carthage build --no-skip-current --configuration Release
- <<: *carthage
osx_image: xcode9.2
name: Carthage / Xcode 9.2
- <<: *carthage
osx_image: xcode9.4
name: Carthage / Xcode 9.4
- <<: *carthage
osx_image: xcode10.1
name: Carthage / Xcode 10.0

# Lint stage
- &pod
stage: lint
osx_image: xcode8.3
env: SWIFT=3.1
name: pod lib lint --swift-version=3.1
osx_image: xcode10.1
env: SWIFT=3.4
name: pod lib lint --swift-version=3.4
os: osx
cache: cocoapods
language: objective-c
before_install: mv .github/PromiseKit.podspec .
install: gem install cocoapods --prerelease --version 1.6.0.beta.2
script: pod lib lint --subspec=PromiseKit/CorePromise --fail-fast --swift-version=$SWIFT
- <<: *pod
osx_image: xcode9.2
env: SWIFT=3.2
name: pod lib lint --swift-version=3.2
- <<: *pod
osx_image: xcode9.4
env: SWIFT=3.3
name: pod lib lint --swift-version=3.3
- <<: *pod
osx_image: xcode10.1
env: SWIFT=3.4
name: pod lib lint --swift-version=3.4
- <<: *pod
osx_image: xcode9.2
env: SWIFT=4.0
@@ -62,10 +36,25 @@ jobs:
env: SWIFT=4.2
name: pod lib lint --swift-version=4.2

# Compile stage - Carthage macOS builds
- &carthage
stage: compile
osx_image: xcode10.1
name: Carthage / Xcode 10.1 (Swift 3.4)
env: SWIFT_VERSION=3.4
os: osx
language: objective-c
script: carthage build --no-skip-current --configuration Release
- <<: *carthage
osx_image: xcode10.1
env: SWIFT_VERSION=4.2
name: Carthage / Xcode 10.1 (Swift 4.2)

# Compile and test stages - Linux builds
- &linux
stage: compile
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.0.3
name: Linux / Swift 3.2
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2.1
name: Linux / Swift 4.2 (compile)
os: linux
dist: trusty
sudo: required
@@ -74,29 +63,50 @@ jobs:
install: swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
script: "true"
- <<: *linux
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.1.2
name: Linux / Swift 3.3
name: Linux / Swift 4.2 (test)
stage: test
script: swift test -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
- <<: *linux
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2.1
name: Linux / Swift 3.4
name: Linux / Swift 4.1 (compile)
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
- <<: *linux
stage: test
name: Linux / Swift 4.1 (test)
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
script: swift test -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
- <<: *linux
name: Linux / Swift 4.0 (compile)
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0.3
name: Linux / Swift 4.0
- <<: *linux
stage: test
script: swift test -Xswiftc -swift-version -Xswiftc 4
name: Linux / Swift 4.0 (test)
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0.3
script: swift test -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
- <<: *linux
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
name: Linux / Swift 4.1
name: Linux / Swift 3 on tools 4.2.1 (compile)
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2.1
- <<: *linux
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2.1
name: Linux / Swift 4.2
stage: test
script: swift test -Xswiftc -swift-version -Xswiftc 4
name: Linux / Swift 3 on tools 4.2.1 (test)
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2.1
script: swift test -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION

# Compile stage - SwiftPM builds
- &swiftpm
stage: compile
name: SwiftPM / macOS / Xcode 9.4
os: osx
osx_image: xcode9.4
script: swift build
- <<: *swiftpm
osx_image: xcode10.1
name: SwiftPM / macOS / Xcode 10.1

# Test stage - macOS, iOS, and tvOS
- &test
stage: test
osx_image: xcode8.3
name: macOS / Xcode 8.3
osx_image: xcode10.1
name: macOS / Xcode 10.1 (Swift 3)
os: osx
language: objective-c
env: DST='platform=OS X,arch=x86_64'
@@ -110,31 +120,20 @@ jobs:
after_success:
bash <(curl -s https://codecov.io/bash)
- <<: *test
name: macOS / Xcode 9.2
osx_image: xcode9.2
script:
xcodebuild -scheme PromiseKit -destination="$DST" -enableCodeCoverage YES SWIFT_VERSION=4 test | xcpretty
- <<: *test
name: macOS / Xcode 9.4
osx_image: xcode9.4
script:
xcodebuild -scheme PromiseKit -destination="$DST" -enableCodeCoverage YES SWIFT_VERSION=4 test | xcpretty
- <<: *test
name: macOS / Xcode 10.0
name: macOS / Xcode 10.1 (Swift 4)
osx_image: xcode10.1
script:
xcodebuild -scheme PromiseKit -destination="$DST" -enableCodeCoverage YES SWIFT_VERSION=4 test | xcpretty

- <<: *test
name: iOS / Xcode 10.0
name: iOS / Xcode 10.1
osx_image: xcode10.1
env: DST='OS=12.0,name=iPhone SE'

- <<: *test
name: tvOS / Xcode 10.0
name: tvOS / Xcode 10.1
env: DST='OS=12.0,name=Apple TV'
osx_image: xcode10.1

# Test stage - Promises/A+
- stage: test
name: Promises/A+ (via WebKit JavaScript Bridge)
language: objective-c
@@ -155,16 +154,7 @@ jobs:
- Tests/JS-A+/build
- Tests/JS-A+/node_modules

- &swiftpm
stage: compile
name: SwiftPM / macOS / Xcode 9.4
os: osx
osx_image: xcode9.4
script: swift build
- <<: *swiftpm
osx_image: xcode10.1
name: SwiftPM / macOS / Xcode 10.0

# Deployment stage
- stage: deploy
script: |
set -eo pipefail