-
Notifications
You must be signed in to change notification settings - Fork 188
Update cross build, Travis and Appveyor-CI #456
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
Update cross build, Travis and Appveyor-CI #456
Conversation
- Add Ruby-head version - Remove outdated ruby versions - Decrease number of ruby versions, so that tests run faster - Run all tests, even when a test fails
- Add Ruby-head version - Remove outdated ruby versions - Decrease number of ruby versions, so that tests run faster - Run all tests, even when a test fails - Make use of Appveyors dual core CPUs
…is/tiny_tds into sync-cross-compile-and-ci-config
This fixes broken 32 bit build on Appveyor-CI. Also print config.log to ease debugging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for spending some time to get this working.
- ruby_version: "26" | ||
- ruby_version: "head-x64" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the changes to this matrix list are surprising:
- why remove
24-x64
,25
, and26-x64
? If it's for overall speed concerns, I'd think that the ongoing verification is preferable to saving a few minutes per PR - any limit against adding ruby 2.7?
- personally, I don't think testing against head builds is necessary, but I'm not opposed to it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed some Ruby versions because one CI run takes almost two hours otherwise and testing all Ruby versions on add architectures has little value. Errors that affect only a single Ruby version on a single architecture are very rare.
Ruby-2.7 is not yet available in appveyor.
Testing on Ruby head is good to get early hints about incompatibilities or deprecations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI run takes almost two hours
Yeouch, I didn't know it was that bad.... I'm on board with slimming down the list then. Also this & the fact that it's so slow is making me want to revisit our overall CI config (later....)
freetds_ports_dir = File.join(project_dir, 'ports', host, 'freetds', FREETDS_VERSION) | ||
freetds_ports_dir = File.expand_path(freetds_ports_dir) | ||
|
||
# Add all the special path searching from the original tiny_tds build | ||
# order is important here! First in, last searched. | ||
# order is important here! First in, first searched. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious for my own understanding, why was it this order worked in the past but is now a problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previously we used a side effect of calling dir_config multiple times. This doesn't work any longer on Ruby-2.7.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, thanks for explaining. Is it odd in retrospect that we were calling dir_config in a loop rather than setting up the directories in the right order?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so.
This seems fine with me to merge |
@aharpervc Can you merge this? You should have the permission to do so. However you don't seem to have permissions to release |
I can add anyone needed to ruby gems. I just need their email address. You can DM this on Twitter (same metaskills user name) if y'all want or obfuscate it here too. |
Happy to, although I assumed you could as well since you're listed as a member?
I just emailed you |
Sure, but I'd like to stay a contributor only and don't want to maintain a project, that I use rarely. I'm glad if you could do maintenance, if Ken doesn't have the time to. |
The only thing I have time for is to help others adopt and service this project. Just point me to who needs perms and where :) |
Well I expected appveyor to run the job when I merged this PR, but it doesn't look like that happened: https://ci.appveyor.com/project/rails-sqlserver/tiny-tds/history Something might need to get turned on over there, but if so I don't have access |
I approved the Appveyor addition. Let me know if I can do anything else. |
No new version has been published yet, because no new version has been prepared yet, because appveyor isn't running the tests yet, because of some unknown reason. I hope to be able to revisit that question this week. |
I just added #459, but Appveyor is still not running on the repository. |
No, but that may be due to a problem on my end... Appveyor wants to "Authorize as GitHub App" or "Authorize as OAuth App", and I'm not sure what the implications are for this org/repo. Which one did you pick? |
@aharpervc I think "Authorize as GitHub App". |
Alright, I gave that a try. It looks like the request will need to be approved by a rails-sqlserver org admin |
I think I just authorized that. |
Thanks, I can now see the tiny_tds project. From the events log it seems that appveyor was notified when this PR was merged to master, but declined to run the job due to not finding I suspect appveyor might be looking at an outdated version of the repo, because when I tried to just have it run a build manually, I got this error: I'm not sure what credentials it might be trying, so I returned to the authorizations page here: https://ci.appveyor.com/account/rails-sqlserver/authorizations and tried to run "Authorize as GitHub App" as described above, but again got the error @metaskills I think you might need to click that install button in appveyor to get it to reconnect to this repo, can you review that when you have a moment? |
Thanks, we are getting close. I did not want to click it because it would get access to Custom Ink's account too. So I just changed you to an org owner too. |
@wpolicarpo Just made you an org owner as well. |
Alright I was able to start the build manually, and it grabbed the latest code from master and is building right now. |
Same. We're also depending heavily on this gem. @aharpervc |
is anyone still working on this? so close! |
I will revisit this and try to cut a new release this week or next week, if I can |
Hey, very thanks for your work, I too wait for this update |
Thanks to all who contributed. I will temporarily roll back to ruby 2.5 which causes me no problems right now. Looking forward to going back to 2.6. Thanks, @aharpervc ! |
Thank you for #462 and i can see it up on https://rubygems.org/gems/tiny_tds/versions/2.1.3.pre-x64-mingw32 ! |
It took awhile, but 2.1.3 has now been released |
This PR includes #455 . It adds ruby versions 2.6 and 2.7 to Windows binary gems and updates and fixes Appveyor and Travis CI. It also adds ruby-head to Appveyor-CI. It removes rubies before 2.4 and some necessary workarounds. OpenSSL and FreeTDS are updated to the latest release versions.
Appveyor needs to be re-enabled for this repository to be effective.