Skip to content

Binary gems

Binary gems #95

Workflow file for this run

name: Binary gems
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: "0 5 * * 3" # At 05:00 on Wednesday # https://crontab.guru/#0_5_*_*_3
jobs:
job_build_x64:
name: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- platform: "x64-mingw-ucrt"
- platform: "x64-mingw32"
- platform: "x86-mingw32"
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
- run: bundle install
- name: Build binary gem
run: bundle exec rake gem:${{ matrix.platform }}
- name: Upload binary gem
uses: actions/upload-artifact@v3
with:
name: binary-gem
path: pkg/*.gem
job_test_binary:
name: Test on Windows
needs: job_build_x64
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
ruby: "3.3"
platform: "x64-mingw-ucrt"
- os: windows-latest
ruby: "3.1.4-1"
platform: "x86-mingw32"
- os: windows-latest
ruby: "2.6"
platform: "x64-mingw32"
runs-on: ${{ matrix.os }}
env:
PGVERSION: ${{ matrix.PGVERSION }}
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
if: matrix.platform != 'x86-mingw32'
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Set up 32 bit x86 Ruby
if: matrix.platform == 'x86-mingw32'
run: |
$(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${{ matrix.ruby }}/rubyinstaller-${{ matrix.ruby }}-x86.exe", "$pwd/ruby-setup.exe")
cmd /c ruby-setup.exe /currentuser /verysilent /dir=C:/Ruby-${{ matrix.ruby }}
echo "c:/ruby-${{ matrix.ruby }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Download gem from build job
uses: actions/download-artifact@v3
with:
name: binary-gem
- run: echo $env:PATH
- run: gem update --system 3.3.26
- run: bundle install
- run: gem install --local fxruby-*${{ matrix.platform }}.gem --verbose
- name: Run specs
run: ruby -w -W2 -rfox16 test/TS_All.rb -v
- name: Print logs if job failed
if: ${{ failure() && matrix.os == 'windows-latest' }}
run: |
ridk enable
find "$(ruby -e"puts RbConfig::CONFIG[%q[libdir]]")" -name mkmf.log -print0 | xargs -0 cat