Skip to content

Add JRuby rake CI task #774

Add JRuby rake CI task

Add JRuby rake CI task #774

Workflow file for this run

name: Test Loader.java with TruffleRuby
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
cancel-in-progress: true
on:
push:
branches:
- main
pull_request:
jobs:
# Inspired from https://github.com/oracle/truffleruby/blob/master/.github/workflows/ci.yml
test-loader:
runs-on: ubuntu-20.04 # to be consistent with that workflow and test on older platform
steps:
- name: Clone YARP
uses: actions/checkout@v3
with:
path: yarp
- name: Setup system Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler-cache: true
working-directory: yarp
- run: mkdir truffleruby-ws
- name: Clone TruffleRuby
uses: actions/checkout@v3
with:
repository: oracle/truffleruby
path: truffleruby-ws/truffleruby
- name: Setup jt
run: echo "$PWD/truffleruby-ws/truffleruby/bin" >> $GITHUB_PATH
- name: Restore ~/.mx/cache
uses: actions/cache@v3
with:
path: ~/.mx/cache
key: mx-cache-${{ runner.os }}
- name: Import latest YARP in TruffleRuby
run: tool/import-yarp.sh
working-directory: truffleruby-ws/truffleruby
- name: Install JVMCI
run: jt install jvmci
- name: Set JAVA_HOME
run: echo "JAVA_HOME=$(jt install jvmci)" >> $GITHUB_ENV
- name: Get graal commit
id: graal_commit
run: echo "graal_commit=$(jt truffle_version)" >> $GITHUB_OUTPUT
- name: Clone Graal
uses: actions/checkout@v3
with:
repository: oracle/graal
path: truffleruby-ws/graal
ref: ${{ steps.graal_commit.outputs.graal_commit }}
- name: Download dependencies
run: jt -q mx --env jvm graalvm-dist-name
working-directory: truffleruby-ws/truffleruby
- name: Build TruffleRuby
run: jt build -- --dependencies "$(jt -q mx --env jvm graalvm-dist-name)"
working-directory: truffleruby-ws/truffleruby
- name: Parse test/fixtures/**/*.rb
run: jt ruby -e 'Dir.glob("test/fixtures/**/*.rb") { |file| puts file; Truffle::Debug.yarp_parse(File.read(file)) }'
working-directory: yarp
- name: Parse src/main/ruby/truffleruby/**/*.rb
run: jt ruby -e 'Dir.glob("src/main/ruby/truffleruby/**/*.rb") { |file| puts file; Truffle::Debug.yarp_parse(File.read(file)) }'
working-directory: truffleruby-ws/truffleruby
- name: Execute p 1+2
run: jt ruby -e 'Truffle::Debug.yarp_execute "p 1+2"'