Project

General

Profile

Actions

Misc #15851

closed

stdlib extension gems - building/testing on Windows

Added by MSP-Greg (Greg L) almost 5 years ago. Updated about 4 years ago.


Description

Along with maintaining ruby-loco, I've encouraged and helped a few popular extension gems with building/testing on Windows/Appveyor.

I decided that a PowerShell based system to compile, build the gem, followed by gem install & test was the best option. It's on Appveyor as a 7z file, and three files in the gem/repo are needed to run it.

For example output, see https://ci.appveyor.com/project/puma/puma/builds/24337063

A few things I addressed with it:

  1. Updates the MSYS2 build system, which can get rather outdated on Appveyor.

  2. Handles loading the correct version of OpenSSL back to Ruby 2.0.

  3. Installs packages in either the old MSYS build system or MSYS2.

  4. Can install and use ragel.

  5. Parses test results from Minitest, Rspec, & test-unit.

Since #1 is expensive, the system builds a standard pre-compiled gem file usable with all Ruby versions under test (test files are included in the gem). It then installs the gem in each Ruby version, and runs the tests using a custom rake file. Hence, one build job handles multiple Ruby versions. This also may speed up Appveyor CI times.

The code is here:
https://github.com/MSP-Greg/av-gem-build-test

Since the Ruby organization has a number of extension gems/repos, script like this would make things much simpler for Windows CI. I've build several extension gems with it, and I think it's stable.

Hence, might this be of interest?

Updated by ko1 (Koichi Sasada) over 4 years ago

Greg, who should have a ball?

Updated by hsbt (Hiroshi SHIBATA) about 4 years ago

  • Status changed from Open to Closed
  • Assignee set to hsbt (Hiroshi SHIBATA)

There is no feedback over the 6 months.

Actions

Also available in: Atom PDF

Like0
Like0Like0