Use AppVeyor for testing Windows gem installs #171
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Notably, this is not using AppVeyor for running the tests like you'd typically expect from CI.
Our big issue with Windows historically isn't running the tests, it's actually installing the gem. This just leverages AppVeyor's infrastructure to let us try to install the bcrypt gem on Windows across all versions of Ruby that we intend to support.
See:
This doesn't actually fix the issue (that comes from me repackaging the gem and pushing the versions with new binaries), but it does give us an indication that it's working. I made this intentionally work with "prerelease" versions of the gem, so I can push up
.rcversions to test without fully pushing out (possibly still broken) new versions.See https://ci.appveyor.com/project/TJSchuck35975/bcrypt-ruby/build/windows_ci-19 for the example output — as you can see, this is "correctly" failing for Ruby 2.3+, and passing for everything below.
Note also that this is just installing the latest version of the gem currently pushed to RubyGems.org, and has pretty much nothing to actually do with this repo — using GitHub webhooks is just the easiest way to get it to automatically build. I can also manually kick off builds from the AppVeyor web UI as needed.
/cc @tenderlove