Skip to content

Add CI build for JRuby on Windows #33

Add CI build for JRuby on Windows

Add CI build for JRuby on Windows #33

name: Continuous Integration
# This is a workflow fix
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
name: Ruby ${{ matrix.ruby }} on ${{ matrix.operating-system }}
runs-on: ${{ matrix.operating-system }}
continue-on-error: ${{ matrix.experimental == 'Yes' }}
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3", "jruby-head", "truffleruby-head"]
operating-system: [ubuntu-latest]
experimental: [No]
include:
- # Run minimal Ruby version supported on windows-latest
ruby: 3.0
operating-system: windows-latest
- # Run maximal Ruby version supported on windows-latest
ruby: 3.3
operating-system: windows-latest
- # Run head version of Ruby on ubuntu-latest
ruby: head
operating-system: ubuntu-latest
# If this build fails, it is ok to set the `experimental` flag
# to `Yes` to allow the build to continue. Add an issue about
# the build failing on head version of Ruby.
# experimental: Yes
- # Experimental build for jruby on windows
ruby: jruby-head
operating-system: windows-latest
# This gem does not support jruby on windows yet
# Remove this `experimental` flag when this build succeeds.
experimental: Yes
env:
JAVA_OPTS: -Djdk.io.File.enableADS=true
JRUBY_OPTS: --debug
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Initialize Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run rake
run: bundle exec rake
coverage:
name: Report test coverage to CodeClimate
needs: [ build ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Initialize Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3
bundler-cache: true
- name: Run tests
run: bundle exec rake spec
- name: Report test coverage
uses: paambaati/[email protected]
env:
CC_TEST_REPORTER_ID: d3bf532dce7cc5d9ae5ae10efd7708d8465d3cc6236e5e11377cbef62ed2b32f
with:
coverageLocations: ${{github.workspace}}/coverage/lcov/*.lcov:lcov