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

Integrate rubygems.org and gittip #505

Closed
wants to merge 5 commits into from
Closed

Conversation

heartpunk
Copy link
Contributor

Setting up a pull request early and pushing early and often so as to get feedback on any desired changes early. Will update when I actually want this merged.

Also, it's important to note that this is only gem level integration. Maintainer specific integration comes next.

Current status:

  • Enough functionality to look like it works.
  • Need an icon for enabling gittip if we keep the current UI.
  • Need to do callbacks over to gittip on update so that this all actually works.

@heartpunk
Copy link
Contributor Author

#500 is the relevant issue.

@heartpunk
Copy link
Contributor Author

I see the build is still failing here. I'll make sure to address that as well, before I get to considering this done.

@heartpunk
Copy link
Contributor Author

Just rebased this so it'd be merge-free. Do you prefer it squashed, too? Would've written tests, but I'm not quite sure what to test in this case.

@indirect
Copy link
Member

First step seems to be getting the build green? :)

@heartpunk
Copy link
Contributor Author

Right!

@heartpunk
Copy link
Contributor Author

1Using worker: ruby3.worker.travis-ci.org:ruby-5
2
3
4
5
6I'm sorry but an error occured within Travis while running your build.
7
8We are continuosly working on test run stability, please email support@travis-ci.org if this error persists.
9
10Below is the stacktrace of the error:
11
12Error: #<Travis::Worker::VirtualMachine::VmFatalError: The VM had trouble shutting down and has now been told off (forcefully killed), your build will be requeued shortly.>
13  /home/travis/travis-worker/lib/travis/worker/virtual_machine/virtual_box.rb:203:in `close_sandbox'
14  /home/travis/travis-worker/lib/travis/worker/virtual_machine/virtual_box.rb:200:in `close_sandbox'
15  /home/travis/travis-worker/lib/travis/worker/virtual_machine/virtual_box.rb:129:in `sandboxed'
16  /home/travis/travis-worker/vendor/bundle/jruby/1.9/bundler/gems/travis-build-486121f54bf2/lib/travis/build/remote.rb:25:in `perform'
17  /home/travis/travis-worker/vendor/bundle/jruby/1.9/bundler/gems/travis-build-486121f54bf2/lib/travis/build.rb:52:in `run'
18  org/jruby/RubyBasicObject.java:1659:in `__send__'
19  org/jruby/RubyKernel.java:2086:in `send'
20  /home/travis/travis-worker/vendor/bundle/jruby/1.9/bundler/gems/travis-support-e3e09d89fc8d/lib/travis/support/logging.rb:26:in `run_with_log'
21  /home/travis/travis-worker/lib/travis/worker.rb:246:in `hard_timeout'
22  /home/travis/travis-worker/lib/hard_timeout.rb:11:in `timeout'

Looks like it might be unrelated to my changes, but whether it is or not, I'm unsure how to troubleshoot. Will keep poking around.

@heartpunk
Copy link
Contributor Author

1Using worker: ruby1.worker.travis-ci.org:ruby-6
2
3$ cd ~/builds
4$ git clone --depth=100 --quiet git://github.com/rubygems/rubygems.org.git rubygems/rubygems.org
5
6
7Executing your  (rm -f ~/.ssh/source_rsa) took longer than 3 minutes and was terminated.
8
9For more information about the test timeouts please checkout the section Build Timeouts at http://about.travis-ci.org/docs/user/build-configuration/.
10
11
12
13Done. Build script exited with: 1

Looks probably unrelated, but again, I can't really tell, and I'm not familiar with travis.

@heartpunk heartpunk mentioned this pull request Jan 14, 2013
@indirect
Copy link
Member

Blah. Those both look like pure Travis failures. I'll try to restart the build.

@heartpunk
Copy link
Contributor Author

Thanks.

@heartpunk
Copy link
Contributor Author

Alright, well I'm just going to start finalizing things and running tests locally until we get this resolved, and then move on to the next steps as discussed in #500.

@heartpunk
Copy link
Contributor Author

Tests pass locally, squashed, rebased, and ready to merge (once it meets your and travis' approval, @indirect).

@indirect
Copy link
Member

Travis says this is good! Thanks for writing this. :) I may be wrong, but I don't see the gittip.png image anywhere in the squashed commit — am I just missing it, or does it still need to be added?

@heartpunk
Copy link
Contributor Author

That! I put it on the other PR, I think, but not this one. Fixing!

@heartpunk
Copy link
Contributor Author

Committed separately (wanted to make sure I got it right, my git is wonky on this clone right now). Squashing presently!

@heartpunk
Copy link
Contributor Author

Alright, this is (at least kinda) alive again! It should be sufficient now for integration to be completed, but there are admittedly at least two deficiencies in the PR as it stands:

  1. API changes should be documented.
  2. There should probably be tests on the new API endpoint, but I honestly don't know what to put there. 😕
  3. That other thing I didn't find but one of you will...

On the other hand, @whit537 is ready to wrap up all the gratipay/gratipay.com#233 stuff on this ASAP so the integration can be announced at PYCON this weekend, so I'm willing to really prioritize this as much as I can, if I can just get feedback telling me what's necessary to get this up to snuff quickly.

@indirect
Copy link
Member

Is the plan to announce integration with rubygems, or integration with language package repos at Pycon?

@heartpunk
Copy link
Contributor Author

Just rubygems, AFAIK. No other language community has stepped up to the challenge, so maybe we can shame python into catching up. :trollface:

@chadwhitacre
Copy link
Contributor

The idea of announcing at PyCon was mostly a joke. :) Though you're right that having this would certainly get the ball rolling on a conversation with the PyPI maintainers.

PyCon doesn't need to be a deadline, in other words. Let's knock this out in good form and announce it as we're able.

@heartpunk
Copy link
Contributor Author

That makes more sense. I was too far into analytical mode to notice the joke when I commented, actually. Anyway, I'd love to get this wrapped up soonish. I'm happy to do whatever will help in expediting that.

Also, looks like the build failures are unrelated again. 😢

@@ -0,0 +1,7 @@
class Api::V1::ProfilesController < Api::BaseController
respond_to :yaml, :xml, :json, :only => [:show]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure that YAML and XML are out as options after the security debacles of late?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm on an old-ish version of the code still, and just followed the convention I found in other controllers as of then. Good catch! Will fix it now.

@indirect
Copy link
Member

This looks great to me. I'm trying to get the tests running locally, and then I guess I'll try to kick travis until it gives in and runs the tests again (but I don't think I can do that for pull requests).

@chadwhitacre
Copy link
Contributor

Okay, I just reviewed f39866dbe517c1b71f65c5eeacb3a8927c20cc7f.

  • I believe we need to fix up the links to Gittip.
  • The only json reference I see is in f7b4f6ab64a45a77d754377183ed4d734818c187. That gives us what we need?

@chadwhitacre
Copy link
Contributor

Bump.

@indirect
Copy link
Member

Happy to merge this once it's ready to go. :)

Users can add a gittip username to their profile, which will cause
their profile page and the gem pages for any gems they own to link
to relevant pages on gittip.

As well, some API changes were needed so gittip could integrate
effectively.  These include:
  1) gems/:gem_name/owners.:format now includes the gittip_username
     when the relevant profile has opted in.
  2) profiles/:username.:format now exists, and returns profile info.
@heartpunk
Copy link
Contributor Author

Alright, I did the link-tweaks requested. The build failure does seem to have been legit last time, but unfortunately I can't replicate it on my machine, even with destroying the databases and rebuilding them before running tests. I've got it rebased onto master, too.

indirect added a commit that referenced this pull request Aug 2, 2013
Integrate rubygems.org and gittip
@heartpunk
Copy link
Contributor Author

Closing since this is merged. Glad this finally made it out!

@heartpunk heartpunk closed this Oct 15, 2013
@chadwhitacre
Copy link
Contributor

👯

@chadwhitacre
Copy link
Contributor

Is this closed or merged? I'm confused.

indirect added a commit that referenced this pull request Jan 29, 2015
Integrate rubygems.org and gittip
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

Successfully merging this pull request may close these issues.

3 participants