From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.9 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 12B7D1F462 for ; Mon, 29 Jul 2019 07:05:01 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id B244F120A7F; Mon, 29 Jul 2019 16:04:54 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id BFDD4120A8B for ; Mon, 29 Jul 2019 16:04:51 +0900 (JST) Received: by filter0100p3iad2.sendgrid.net with SMTP id filter0100p3iad2-10403-5D3E9A96-1E 2019-07-29 07:04:54.757296723 +0000 UTC m=+216785.023919876 Received: from herokuapp.com (unknown [3.80.72.87]) by ismtpd0001p1iad2.sendgrid.net (SG) with ESMTP id 54nT1ooXRrukw2Eg8OzS6Q for ; Mon, 29 Jul 2019 07:04:54.733 +0000 (UTC) Date: Mon, 29 Jul 2019 07:04:54 +0000 (UTC) From: ko1@atdot.net Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 69474 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 15851 X-Redmine-Issue-Author: MSP-Greg X-Redmine-Sender: ko1 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?fVTMYOBjtdvXNcWwrscBhLsHItUXVK5L4mtnq0mdcRfjOK7DgJ1+ZM8uO3Ssqb?= =?us-ascii?Q?D7S6UfJ1hroU2xQNtzA1j0zJcGvhiYlEx38Iq3j?= =?us-ascii?Q?7oszlCRH+QYK=2F0CZPNh2rveD8FrjI3GDXB8G7ho?= =?us-ascii?Q?29OaMWVTtzZvGdFgNxWaf4nVWVJzmZerO=2Ff0NxF?= =?us-ascii?Q?VaD6QZlkodqKU?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 93969 Subject: [ruby-core:93969] [Ruby master Misc#15851] stdlib extension gems - building/testing on Windows X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #15851 has been updated by ko1 (Koichi Sasada). Greg, who should have a ball? ---------------------------------------- Misc #15851: stdlib extension gems - building/testing on Windows https://bugs.ruby-lang.org/issues/15851#change-80160 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: ---------------------------------------- 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? -- https://bugs.ruby-lang.org/