utahiosmac / Marshal

Marshaling the typeless wild west of [String: Any]
MIT License
697 stars 62 forks source link

Add travis CI integration #7

Closed brianmullen closed 8 years ago

brianmullen commented 8 years ago

To help alleviate build issues, we should add support for travis CI so that we can verify builds before merging pull requests.

jarsen commented 8 years ago

And maybe https://codebeat.co/

jarsen commented 8 years ago

we have permissions and it's set up. now we just need a .travis.yml

brianmullen commented 8 years ago

I will work on the .travis.yml. I have never setup codebeat so I will leave that up to you.

jarsen commented 8 years ago

k. l want to look at this as well https://github.com/codecov/example-objc

brianmullen commented 8 years ago

I added the initial travis.yml, but the tests are failing:

❌  /Users/travis/build/utahiosmac/Marshal/MarshalTests/MarshalTests.swift:14:18: module 'Marshal' was not compiled for testing
@testable import Marshal

I am not sure how to get around that from the command line. Anyone have any ideas?

brianmullen commented 8 years ago

I got the tests running/passing except for the Apple TV. For some reason, it says the destination is invalid and prints a list of available ones (the tv simulator not being in the list).

brianmullen commented 8 years ago

Running the command locally, gives me the following valid options:

{ platform:OS X, arch:x86_64 }
{ platform:iOS Simulator, OS:9.3, name:iPad 2 }
{ platform:iOS Simulator, OS:9.3, name:iPad Air }
{ platform:iOS Simulator, OS:9.3, name:iPad Air 2 }
{ platform:iOS Simulator, OS:9.3, name:iPad Pro }
{ platform:iOS Simulator, OS:9.3, name:iPad Retina }
{ platform:iOS Simulator, OS:8.1, name:iPhone 4s }
{ platform:iOS Simulator, OS:9.3, name:iPhone 4s }
{ platform:iOS Simulator, OS:9.3, name:iPhone 5 }
{ platform:iOS Simulator, OS:9.3, name:iPhone 5s }
{ platform:iOS Simulator, OS:9.3, name:iPhone 6 }
{ platform:iOS Simulator, OS:9.3, name:iPhone 6 Plus }
{ platform:iOS Simulator, OS:9.3, name:iPhone 6s }
{ platform:iOS Simulator, name:iPhone 6s Plus }

It appears watchOS and tvOS are absent. Do we need to split those out to different targets for CI? Or do we just not test those?

jarsen commented 8 years ago

I'm really not sure, having not done it before. I'd say we just leave it failing for now until we figure it out. Or, alternatively, we could not test them and then have a ticket to test them right.

jarsen commented 8 years ago

On further thought, I think I would prefer the latter. Just so we have all those PRs nice and shiny and passing.

brianmullen commented 8 years ago

I have tests for iOS 8.1-9.3 and OSX 10.11 passing. We will need to figure out later how to add automated tests for tvOS and watchOS.

brianmullen commented 8 years ago

I have codebeat setup and a PR with the badge.

The travis.yml has support for codecov and we have approval for our repo but nothing is showing up in the account and so that needs to be looked at.

brianmullen commented 8 years ago

I created a separate issue #45 for codecov so we can close the travis ci issue.