|
| 1 | +--- |
| 2 | +dist: focal |
| 3 | + |
| 4 | +env: |
| 5 | + global: |
| 6 | + - JRUBY_HOME=/opt/jruby |
| 7 | + - JRUBY_VERSION=9.2.19.0 |
| 8 | + - LAUNCHER_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| 9 | + - WORKDIR=/usr/local/src/jruby-launcher |
| 10 | + |
1 | 11 | language: ruby |
2 | | -rvm: |
3 | | - - jruby-19mode |
4 | | -script: make && bundle exec rake package && gem install pkg/jruby-launcher-*-java.gem |
5 | | -after_script: jruby -Xversion |
| 12 | + |
| 13 | +services: |
| 14 | + - docker |
| 15 | + |
| 16 | +jobs: |
| 17 | + - include: |
| 18 | + - env: |
| 19 | + - DOCKER_IMAGE=debian:9 |
| 20 | + - JDK_PKG=openjdk-8-jdk |
| 21 | + - PKG_MGR=apt-get |
| 22 | + - env: |
| 23 | + - DOCKER_IMAGE=debian:10 |
| 24 | + - JDK_PKG=openjdk-11-jdk |
| 25 | + - PKG_MGR=apt-get |
| 26 | + - env: |
| 27 | + - DOCKER_IMAGE=ubuntu:16.04 |
| 28 | + - JDK_PKG=openjdk-8-jdk |
| 29 | + - PKG_MGR=apt-get |
| 30 | + - env: |
| 31 | + - DOCKER_IMAGE=ubuntu:20.04 |
| 32 | + - JDK_PKG=openjdk-11-jdk |
| 33 | + - PKG_MGR=apt-get |
| 34 | + - env: |
| 35 | + - DOCKER_IMAGE=centos:7 |
| 36 | + - JDK_PKG=java-11-openjdk |
| 37 | + - PKG_MGR=yum |
| 38 | + - env: |
| 39 | + - DOCKER_IMAGE=centos:8 |
| 40 | + - JDK_PKG=java-11-openjdk |
| 41 | + - PKG_MGR=yum |
| 42 | + - env: |
| 43 | + - DOCKER_IMAGE=oraclelinux:7 |
| 44 | + - JDK_PKG=java-11-openjdk |
| 45 | + - PKG_MGR=yum |
| 46 | + - env: |
| 47 | + - DOCKER_IMAGE=oraclelinux:8 |
| 48 | + - JDK_PKG=java-11-openjdk |
| 49 | + - PKG_MGR=yum |
| 50 | + |
| 51 | +before_install: |
| 52 | + - docker pull ${DOCKER_IMAGE} |
| 53 | + - docker run --detach --interactive --tty --name launcher --volume ${PWD}:${WORKDIR} ${DOCKER_IMAGE} |
| 54 | + - if [ "${PKG_MGR}" == "apt-get" ]; then docker exec launcher apt-get update; fi |
| 55 | + - if [ "${PKG_MGR}" == "apt-get" ]; then docker exec --env DEBIAN_FRONTEND=noninteractive launcher apt-get -yqq install build-essential curl ${JDK_PKG}; fi |
| 56 | + - if [ "${PKG_MGR}" == "yum" ]; then docker exec launcher yum -yq groups install "Development Tools"; fi |
| 57 | + - if [ "${PKG_MGR}" == "yum" ]; then docker exec launcher yum -yq install ${JDK_PKG}; fi |
| 58 | +install: |
| 59 | + - docker exec launcher bash -c "curl https://s3.amazonaws.com/jruby.org/downloads/${JRUBY_VERSION}/jruby-bin-${JRUBY_VERSION}.tar.gz | tar -zxC /opt" |
| 60 | + - docker exec launcher ln -s jruby-${JRUBY_VERSION} ${JRUBY_HOME} |
| 61 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} launcher jruby -S gem install bundler |
| 62 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} --workdir ${WORKDIR} launcher bundle install |
| 63 | +before_script: |
| 64 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} --workdir ${WORKDIR} launcher make |
| 65 | +script: |
| 66 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} --workdir ${WORKDIR} launcher make test |
| 67 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} --workdir ${WORKDIR} launcher bundle exec rake package |
| 68 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} --workdir ${WORKDIR} launcher gem install pkg/jruby-launcher-*-java.gem |
| 69 | +after_script: |
| 70 | + - docker exec --env PATH=${LAUNCHER_PATH}:${JRUBY_HOME}/bin --env JRUBY_HOME=${JRUBY_HOME} launcher jruby -Xversion |
| 71 | + - docker stop launcher |
| 72 | + - docker rm launcher |
0 commit comments