rails-sqlserver / tiny_tds

TinyTDS - Simple and fast FreeTDS bindings for Ruby using DB-Library.
Other
607 stars 189 forks source link

Remove old Ruby version from CI config & cross build rake task #455

Closed aharpervc closed 4 years ago

aharpervc commented 4 years ago

This is a prerequisite for https://github.com/rails-sqlserver/tiny_tds/issues/434 (per comment). It's effectively a followup to https://github.com/rails-sqlserver/tiny_tds/pull/428.

Adding recent contributors for review.

aharpervc commented 4 years ago

@larskanis looks like you were also doing this work here: https://github.com/rails-sqlserver/tiny_tds/compare/master...larskanis:update-windows-binary, was there a blocker on that?

jrgns commented 4 years ago

Can we perhaps add support for Ruby 2.7 while we're at it?

aharpervc commented 4 years ago

Can we perhaps add support for Ruby 2.7 while we're at it?

I don't see why not

larskanis commented 4 years ago

@aharpervc I don't remember what interrupted me. Nevertheless you need to update rake-compiler-dock to 1.0 in order to cross build for Ruby-2.7. OpenSSL-1.1.1 should work as well. We cross build it in ruby-pg.

larskanis commented 4 years ago

Appveyor seems to be disabled for this repository. The badge icon in the README shows the last build two years ago.

aharpervc commented 4 years ago

Great @larskanis thanks for the tip. I removed the old appveyor config and updated rake-compiler-dock & the default OpenSSL version.

aharpervc commented 4 years ago

The 2.7 job is failing because tiny tds can't find the freetds headers (I think...) indicated by this right before the final error:

checking for sybfront.h... no
checking for sybdb.h... no
checking for tdsdbopen() in -lsybdb... no
checking for dbanydatecrack() in -lsybdb... no

However, I don't know why that would be. Freetds appears to install without problem, and diffing the 2.6 & 2.7 job logs that part of each job seems to be similar. @larskanis ideas?

aharpervc commented 4 years ago

Given that 2.7 is requires additional changes, I'm going to slice that work out to another branch so we can get the main stuff merged.

larskanis commented 4 years ago

@aharpervc Couldn't you reactivate Appveyor-CI instead of dropping it? That would make sure, that the gem is properly working on Windows. Or is there a particular reason to not use Appveyor any longer?

aharpervc commented 4 years ago

Or is there a particular reason to not use Appveyor any longer?

I feel like I asked this question somewhere on this repo a long time ago, and there was an answer, but I can't recall what it was & I can't find my question.

I'm open to adding more CI config, especially for Windows. Whether that would be back to appveyor or some other service is an open question to me. Travis has Windows support now I believe, and CircieCI supports Linux/macOS/Windows and might be a better choice overall. Azure Devops also supports all OS's. Github Actions can be used for CI and also supports everything. There's lots to consider.

MadsNielsen commented 4 years ago

Hey @aharpervc is there any change we might soon see a new release of this gem with the support for 2.6 and precompiled windows gems?

aharpervc commented 4 years ago

I hope so, although this branch has been superseded by https://github.com/rails-sqlserver/tiny_tds/pull/456