Liftric / DIKit

Dependency Injection Framework for Swift, inspired by KOIN.
MIT License
102 stars 17 forks source link

WIP chore: adding ci via bitrise #28

Closed JZDesign closed 5 years ago

JZDesign commented 5 years ago

Why was this change made (Body)

Add a CI tool for automated testing and building to protect against breaking changes.

Bitrise

Bitrise is an automation tool that can will build, test, distribute etc., It's also free.

Why is this a WIP/Draft?

Trying a few CI tools out.

Testing BitRise PR comments. This may not work because I could only point it to my fork of the repo.

Footer

From Issue 21

JZDesign commented 5 years ago

Missing a detail in their configuration. I'm going to try that and make a small change to the PR to see if it triggers.

JZDesign commented 5 years ago

Personally, I like this product... It does it all. I can't set it up on your repo though. Either you would need to do that or I would need to be a collaborator. I'd be happy to help get it set up.

You've got decent Code Coverage 👍

Screen Shot 2019-10-02 at 9 36 26 PM

I forced tests to fail to see what it would do

Screen Shot 2019-10-02 at 9 36 03 PM Screen Shot 2019-10-02 at 9 37 24 PM
benjohnde commented 5 years ago

Oh nice work over there @JZDesign! I was on vacation, so I am going to look at it in more detail on upcoming Wednesday! Really love your drive. I have no strong opinion on which tool we should use! With that being said: I am fine with bitrise of course!

benjohnde commented 5 years ago

LGTM, I am going to create a bitrise account in the next couple of days and will invite you as a collaborator :)

JZDesign commented 5 years ago

Sounds good man! I typically use App Center for my mobile apps but I may start using Bitrise. It's a nice tool.

benjohnde commented 5 years ago

Hey @JZDesign, I've just added you as an Admin.

JZDesign commented 5 years ago

I'll get in there tonight and get that configured.

benjohnde commented 5 years ago

Just as a remark: could be a good alternative to use the Github CI via Actions. But I haven't tried that it. Internally we use some gitlab pipeline.

JZDesign commented 5 years ago

@benjohnde Sorry I didn't have time to do this last night.

Just as a remark: could be a good alternative to use the Github CI via Actions. But I haven't tried that it. Internally we use some gitlab pipeline.

Bitrise actually does a lot of that for us. It can trigger on Merges to master, pushing a branch up, or adding specified tag to the branch. There's probably more that can get configured. I haven't spent much time on it.

JZDesign commented 5 years ago

@benjohnde Hey! Working on this, I don't think I have the right access yet to the repo. I can't do much more. I did configure the Bitrise settings, it should build properly now.

If you want to I can walk you through the final steps for integration or you could modify my access to "Write" access on this repo.

If you choose "write" access I would first make sure that Master is a protected branch and that only you can push to it without approval, just as a precaution.


If you choose option 1 and to do it yourself. There are 2 things we need to do yet.

1. Set up Bitrise to run Github checks automagically

In settings toggle this on:

Screen Shot 2019-10-09 at 8 23 23 PM

2. Get CodeCoverage setup.

What needs to be done is for you to add your repo to CodeCov.io then copy the key from it's settings tab to the primary workflow in the CodeCov step.

Screen Shot 2019-10-09 at 8 39 21 PM
JZDesign commented 5 years ago

@benjohnde What have you decided on? I'd be happy to continue if you don't want to mess with Bitrise at all. Otherwise let me know if you have any questions.

benjohnde commented 5 years ago

Hi @JZDesign. Sorry, lately I was not really able to commit myself to this project.

I gave you write access to the repo, and in addition also performed the two steps from above!

JZDesign commented 5 years ago

I'm going to mark this "Ready for Review" to see if it triggers BitRise.

benjohnde commented 5 years ago

@JZDesign I just tried to enable GitHub actions and add a basic build & test set. It works like a charm :)