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
Tests against all the mime-types; correct dependencies once and for all #713
Conversation
Conditionals in a gemspec are only executed when building the gem. That is, when you run gem install, you get the built gem. If the gem was built under CRuby 1.9.3, it would not specify jruby-openssl or tlsmail as dependencies, no matter what platform or version of Ruby you are running gem install on. It only really makes sense to have them in the Gemfile for use in development.
Am battling Travis now.. hopefully I think I just found the bug in how it was overriding the BUNDLE_GEMFILE |
Nice, Appraisals is definitely the way to go here I think. 👍 |
@TravisCI @rkh looks like under 1.8.7 Travis isn't running |
n/m re: 1.8.7, I found the problem was a typo in a gemfile name and a silent failure in travis |
@ConradIrwin @mikel @jeremy @arunagw @jstirk @i'm only running rake (rake spec) for the tests. Should I also run And while I'm here, can we remove the references to tlsmail as 1.8.6 is no longer supported? |
So, the failures for version 2.3 on ruby 1.9.3 and jruby look fixable
|
and then only when not running in Appraisal or on TravisCI
The 'local_development' group is a way to specify gems you may use while developing the gem, but aren't required to run the tests.
The gemspec already specifies a version of mime-types. Specifying it in the Gemfile is redundant and repetitive. :)
Run tests against all mime-types version with appraisal rake or rake appraisal
Thanks for looking into this. I get issues running appraisal on my machine: https://gist.github.com/d2d2cecd9e6fa2aa0956. Not sure why it's trying to install ruby-debug on ruby 2.1.0? Travis currently fails due to a problem in the edge build on ruby 1.9.3 — should that be reported upstream or moved to the "allowed failures" section? Ruby 1.8.7 users will presumably need to manually lock their version of mime-types to 1.x? That shouldn't be a huge problem as most 1.8.7 code-bases I know of are not very active (though some of them are). All in all this looks good though. We could probably reduce the matrix down to the latest versions of 1.x and 2.x, but that'd mostly be an optimization for travis' server cost. |
Seems like a good idea - 1.8.6 is ancient history now. |
@ConradIrwin the failure on 1.9.3 is the same as the one I pasted above. It's really weird 'cause it seems to be impossible. Some race-condition thing? I'm not sure. I can't reproduce it. Check out the code in the test. Did appraisal generate any lockfiles in the gemfiles dir? If not, try running just You can 'manually' run and appraisal scenario with e.g. fwiw, I also created an rbx bug report, if anyone wants to help with that rubinius/rubinius#3050 |
@ConradIrwin I agree about reducing the matrix. I just wanted to be expansive for the purpose of this PR, especially since I've changed the dependency range to be so wide. Would you mind trying to rerun the last build and see if we get different failures? |
Exclude invalid ruby/mime-types combos from TravisCI
It looks like when @TravisCI doesn't find the expected gemfile, it just skips bundling altogether, but continues with no error message. This leads to confusing failures.
I see from the previous run that I forgot to exclude the 'latest' release of mime-types on Ruby 1.8.7. Rebased and force pushed, now with more docs in 'CONTRIBUTING' and a link to the rbx issue in .travis.yml |
Yay, all passing! |
Let's keep this revival momentum going! Merge and let's get a version pushed out! (Anyone know @mikel ?) |
Hope this gets merged 👍 👍 |
@ConradIrwin @mikel @jeremy @arunagw @jstirk yes please merge so we can get this sorted! |
I'm a bit out of date on the long term situation, but the diff looks sane to me. Dropping 1.8.6 in a new version makes a lot of sense to me too. I've had a quick chat with @mikel about this PR, it's definitely on his radar. |
I kind of want to keep bumping this to keep momentum up. @halostatue any thoughts? |
Looks awesome to me. I think I may need to add a link to this discussion and the Travis page to the Contributions page in mime-types—we want to know that nothing added to mime-types breaks Mail before we release. |
@halostatue if people use |
I'm starting to feel a little less optimistic about getting this merged and released. If not by the end of next week, I'll start a fork. Too many people rely on this code. |
Tests against all the mime-types; correct dependencies once and for all
awesome work people. |
👍 awesome |
Yay! http://rubygems.org/gems/mail/versions/2.6.0 So happy! |
@bf4 Thanks for sorting this out!! |
This allows Rails users to install mail 2.6 which relaxes the mime-types dependency, which is a big win for a lot of people. Previously, the mail gem restricted mime-types to ~> 1.16 but now it has expanded to [">= 1.16", "< 3"] And the mime-types maintainer will also be checking that 2.x releases don't break mail. See mikel/mail#713 https://rubygems.org/gems/mail/versions/2.6.0
This allows Rails users to install mail 2.6 which relaxes the mime-types dependency, which is a big win for a lot of people. Previously, the mail gem restricted mime-types to ~> 1.16 but now it has expanded to [">= 1.16", "< 3"] And the mime-types maintainer will also be checking that 2.x releases don't break mail. See mikel/mail#713 https://rubygems.org/gems/mail/versions/2.6.0 Related to rails#15493
This allows Rails users to install mail 2.6 which relaxes the mime-types dependency, which is a big win for a lot of people. Previously, the mail gem restricted mime-types to ~> 1.16 but now it has expanded to [">= 1.16", "< 3"] And the mime-types maintainer will also be checking that 2.x releases don't break mail. See mikel/mail#713 https://rubygems.org/gems/mail/versions/2.6.0
This allows Rails users to install mail 2.6 which relaxes the mime-types dependency, which is a big win for a lot of people. Previously, the mail gem restricted mime-types to ~> 1.16 but now it has expanded to [">= 1.16", "< 3"] And the mime-types maintainer will also be checking that 2.x releases don't break mail. See mikel/mail#713 https://rubygems.org/gems/mail/versions/2.6.0
The most important parts of this PR are
There are a lot of PRs and issues related to this work, but none of them, I think fully (or correctly) addressed the issue.
@ConradIrwin I'm happy to add another commit to specify ruby 2.1 support.