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

Consider Adding Continuous Integration #45

Closed
ashfurrow opened this issue Jul 4, 2015 · 21 comments
Closed

Consider Adding Continuous Integration #45

ashfurrow opened this issue Jul 4, 2015 · 21 comments

Comments

@ashfurrow
Copy link
Collaborator

We should consider adding continuous integration from Travis or CircleCI. This would run tests on pull requests to make sure everything is 🍏 before we merge 🎉

Happy to help out with this.

@kzaher
Copy link
Member

kzaher commented Jul 4, 2015

Hi @ashfurrow,

yeah, sure. I'm all for that.

I've done some investigation for CircleCI, but it asked me for admin permission to all of my repositories, which unfortunately I cannot do.

That would mean that I would need to create a dummy github account just for that?

I'm sure you have more experience then I have with that, so I would appreciate your help on this.

@ashfurrow
Copy link
Collaborator Author

Cool, I can take a look at that. I understand it's not practical to give access to app repos – a dummy account could work. Alternatively, if you're willing, we can use my account (I would need write access to the repo, which I totally understand if you're not OK with). I have already given CircleCI access to my account, so it's fine.

@kzaher
Copy link
Member

kzaher commented Jul 4, 2015

I'm all for simple solutions :)

I've added you as a collaborator, this should give you write access.

@ashfurrow
Copy link
Collaborator Author

Perfect – I'll try and get that setup this weekend.

@bontoJR
Copy link
Contributor

bontoJR commented Jul 4, 2015

The write access is not enough for CircleCI, as discussed and tested few months ago, it requires the repo ownership and Kruno can't give access to all repos. The good solution would be to Kruno to create an association being the administrator, but the RxSwift name has been taken and not used since last year. According to Github rules is a violation, but I don't know how much they would care about it. :(

@ashfurrow
Copy link
Collaborator Author

Huh, you're right. Looks like I can only have CI on my fork. Hmm.

If it's OK with everyone, I can contact GitHub to see about getting the organization name.

@ashfurrow
Copy link
Collaborator Author

(That is, of course, if @kzaher wants to move it to an org.)

@bontoJR
Copy link
Contributor

bontoJR commented Jul 4, 2015

(I am on a phone, sorry for typos and missing words)

I think Kruno is ok with that, we discussed this weeks ago, on that time the necessity wasn't big, now that the exposure of the project is getting bigger, it would probably make sense. I think the name is important, but on the other hand the Reactive scene has his own association, so I don't know if a dedicated one would be better than join the original one. The current RxSwift is an extreme accurate port of Rx.Net and has a lot to share with RxJava (some names and conventions are different, but mostly because of the language, not because of the implementation, as discussed in the Slack channel). I will let Kruno answer, also I would also love to push the website with valid tutorials and content, I will manage to draft a roadmap and publish it on Slack tomorrow.

@seivan
Copy link
Contributor

seivan commented Jul 4, 2015

Whats' wrong with Travis-CI? Worked great for me in the past.

@kzaher
Copy link
Member

kzaher commented Jul 4, 2015

I've already contacted GitHub :)

The account doesn't have any publicly visible activity, but it isn't dormant. The person responded, but I didn't get the impression that he was willing to let the name go :(

In theory, I don't have an issue moving this project to RxSwift organization or to a part of some other organization, but I don't want to do it over night because I wanted to include CI for my repository.

It is also kind of backwards that continuous integration asks more then write access.

What is more weird is that I can't give it admin access to only one of repositories I have access to.

What's even more weird is that it can't integrate with write only access to my repository, but it can integrate with organizations what I am only member of and not admin. This is insane.

https://help.github.com/articles/about-third-party-application-restrictions/

Note: When an organization has not set up third-party application restrictions, any third-party application authorized by an organization member can also access the organization's private resources.

Have I misunderstood something?

@ashfurrow
Copy link
Collaborator Author

Wow, that is insane.

Travis doesn't let me set up this repo, either. @kzaher: here's the list of permissions that Travis requested. It applies to all my orgs, too, which is silly. Why is it up to the org to opt out? Why can't I, as the user granting access, determine which orgs an app has access to?

screen shot 2015-07-04 at 5 51 42 pm

Dunno if that situation is acceptable, either. Quite the pickle.

Totally understand not wanting to transfer this to an org just for CI – we can keep this issue tucked away and reevaluate when it makes sense 😄

@kzaher
Copy link
Member

kzaher commented Jul 4, 2015

How can anyone accept to this?

screen shot 2015-07-05 at 00 04 25

@seivan
Copy link
Contributor

seivan commented Jul 4, 2015

@kzaher Is it the same between the Private Travis and the Open Source (public only) Travis?
You should ask them, I am sure they have gotten this before.

@ashfurrow
Copy link
Collaborator Author

It's pretty bananas, but I'm not on that many organizations with close source repos. Just @artsy, really, but it kind of freaks me out that any Artsy org member could approve a malicious app by accident, then anyone could have access to all our private repos – all of Artsy's code. Some org members aren't developers and might not understand the significance of the approval. The more I think about this, the more I agree with you @kzaher.

@bontoJR
Copy link
Contributor

bontoJR commented Jul 4, 2015

Well, eventually I can write a script pulling from repo on github on a personal virtual machine and run the script using the ownership of a fork. This would workaround the ownership and Kruno can avoid to transfer the repo to an association just for CI. He's still the only one really writing and investing time on coding the core of the project, so CI wouldn't give any real advantage right now.

@bontoJR
Copy link
Contributor

bontoJR commented Jul 4, 2015

On core I mean operators, schedulers, subjects, etc... Most of the external commits are about RxCocoa or documentation/useful resources, so things that are not directly related to the necessity of having a CI on place for RxSwift :)

@kzaher
Copy link
Member

kzaher commented Jul 5, 2015

I've thought about this, and I think I know what to do.

I need to create another github account for private client repositories and leave their organizations with this public account.

In that way CI tools will only have access to my public work.

It's a stupid solution, but the only one that is "low risk" and secure.

It will take some time to do this since I'm in the middle of some projects :(, but I'll start the process probably next week.

@kzaher
Copy link
Member

kzaher commented Aug 1, 2015

I'm trying to add CircleCI

Warning: Sorry! Your build didn't run because we are still adding capacity to the iOS beta and haven't enabled your organization yet. We know you're waiting and we'll get you building as soon as we can. If you have any questions, please free to contact us in support.

:(

Does anybody know somebody there to help us? :)

@kzaher
Copy link
Member

kzaher commented Aug 1, 2015

Hm, looks like Travis has a chance of working, I'll see if I can maybe set up Travis.

@kzaher
Copy link
Member

kzaher commented Aug 2, 2015

I can finally say, considered, done :) 🎉

@kzaher kzaher closed this as completed Aug 2, 2015
@ashfurrow
Copy link
Collaborator Author

👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants