From 6f960f22ca5a6118f3e2ffbbe38430ccd898e660 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Thu, 20 May 2021 14:33:45 -0400 Subject: [PATCH] ci: test gem packaging and installation on jruby --- .github/workflows/gem-install.yml | 27 +++++++++++++++++++++++++++ scripts/test-gem-build | 10 ++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gem-install.yml b/.github/workflows/gem-install.yml index c60522e3c97..4a3d541b8d8 100644 --- a/.github/workflows/gem-install.yml +++ b/.github/workflows/gem-install.yml @@ -107,3 +107,30 @@ jobs: name: cruby-x86_64-gem path: gems retention-days: 1 + + jruby-package: + name: "jruby-package" + runs-on: ubuntu-latest + container: + image: "larskanis/rake-compiler-dock-jruby:1.1.0" + steps: + - uses: actions/checkout@v2 + - run: ./scripts/test-gem-build gems java + - uses: actions/upload-artifact@v2 + with: + name: jruby-gem + path: gems + retention-days: 1 + + jruby-install: + needs: ["jruby-package"] + runs-on: ubuntu-latest + container: + image: "flavorjones/nokogiri-test:jruby-9.2" + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v2 + with: + name: jruby-gem + path: gems + - run: ./scripts/test-gem-install gems diff --git a/scripts/test-gem-build b/scripts/test-gem-build index 69e349afe03..9fc69821c7a 100755 --- a/scripts/test-gem-build +++ b/scripts/test-gem-build @@ -7,19 +7,23 @@ if [[ $# -lt 2 ]] ; then exit 1 fi +set -e -u + OUTPUT_DIR=$1 BUILD_NATIVE_GEM=$2 test -e /etc/os-release && cat /etc/os-release -if [[ "${BUILD_NATIVE_GEM}" != "ruby" ]] ; then +if [[ "${XRUBIES:-}" != "" ]] ; then + echo YES + exit 1 # normally part of rake-compiler-dock runas which we can't easily use in concourse . /etc/rubybashrc ln -s /usr/local/rake-compiler "$HOME"/.rake-compiler export RAKE_EXTENSION_TASK_NO_NATIVE=true fi -set -e -x -u +set -x bundle install --local || bundle install bundle exec rake set-version-to-timestamp @@ -28,6 +32,8 @@ if [[ "${BUILD_NATIVE_GEM}" == "ruby" ]] ; then # TODO we're only compiling so that we retrieve libxml2/libxslt tarballs, we can do better. bundle exec rake clean compile bundle exec rake gem +elif [[ "${BUILD_NATIVE_GEM}" == "java" ]] ; then + bundle exec rake java gem else bundle exec rake gem:${BUILD_NATIVE_GEM}:builder FORCE_CROSS_COMPILING=true fi