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

S3 bucket layout breaks RVM #19

Open
coderanger opened this issue Jul 5, 2016 · 3 comments
Open

S3 bucket layout breaks RVM #19

coderanger opened this issue Jul 5, 2016 · 3 comments

Comments

@coderanger
Copy link

I've been trying to diagnose why RVM's usual fuzzy matching hasn't been working with Travis-provided binaries. As an example case, trying to use 2.3 as a Ruby version results in a failed build. 2.0, 2.1, and 2.2 work but are manually aliased to things other than the latest versions of those respective releases, which is not what I would expect. The issue with 2.3 seems to be that the travis-rubies S3 bucket was set up with everything under a single binaries folder. This causes RVM's S3 support to fail because the base URL (https://s3.amazonaws.com/travis-rubies/binaries) is a 404 rather than the expected XML key list document. Reorganizing things to remove the binaries/ "folder" should fix this.

@coderanger
Copy link
Author

coderanger commented Jul 5, 2016

Also as a separate issue kind of, the aliases for 2.1 and 2.0 are weird:

travis@2296d5b7cd1f:~$ rvm alias list
2.1 => ruby-2.1.5
jruby-19mode => jruby-1.7.19-d19
default => ruby-1.9.3-p551
jruby-d18 => jruby-1.7.19-d18
jruby-d19 => jruby-1.7.19-d19
jruby-18mode => jruby-1.7.19-d18
jruby => jruby-1.7.19-d19
2.0 => ruby-2.0.0-p598

@mpapis
Copy link
Contributor

mpapis commented Jul 5, 2016

@coderanger or maybe you could open a PR for RVM to add support for nested directories? my guess is that we can:

  • detect the extra directory levels (/binaries)
  • get index from proper level (https://s3.amazonaws.com/travis-rubies)
  • use the suffix (binaries) as a filter

...well just guessing, but that would be the best fix if I understood the problem corectly

@coderanger
Copy link
Author

Seems like it could be done, but probably more work than fixing it on the S3 side :) It took me long enough to figure out what the RVM code is doing, I wouldn't feel comfortable changing it on my own. Part of the problem is that both https://travis-rubies.s3.amazonaws.com/ and https://s3.amazonaws.com/travis-rubies/ are valid S3 URLs, so given a URL you need to do a lot of parsing to know what part of the URL is a prefix. Might be more work than RVM wants to do in a shell script.

coderanger added a commit to poise/application that referenced this issue Jul 5, 2016
coderanger added a commit to poise/application_examples that referenced this issue Jul 5, 2016
coderanger added a commit to poise/application_git that referenced this issue Jul 5, 2016
coderanger added a commit to poise/application_javascript that referenced this issue Jul 5, 2016
coderanger added a commit to poise/application_ruby that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-archive that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-boiler that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-hoist that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-javascript that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-languages that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-monit that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-monit-compat that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-profiler that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-python that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-ruby that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-ruby-build that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-service that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-service-monit that referenced this issue Jul 5, 2016
coderanger added a commit to poise/poise-service-runit that referenced this issue Jul 5, 2016
coderanger added a commit to poise/application_python that referenced this issue Jul 5, 2016
coderanger added a commit to poise/citadel that referenced this issue Jul 5, 2016
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

2 participants