Don't preEval here #1418
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: JRuby CI | |
on: [push, pull_request] | |
env: | |
JAVA_OPTS: '-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xms60M -Xmx1G -XX:InitialCodeCacheSize=40M -XX:ReservedCodeCacheSize=120M' | |
permissions: | |
contents: read | |
jobs: | |
rake-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:jruby:int', 'spec:ruby:fast', 'spec:ji', 'spec:ffi'] | |
java-version: ['8', '11', '17', '21'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java ${{ matrix.java-version }}) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
cache: 'maven' | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby -S rake ${{ matrix.target }} | |
rake-test-8: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:mri:core:jit', 'test:mri:extra', 'spec:ruby:fast:jit', 'test:mri:stdlib', 'spec:ruby:slow', 'spec:ruby:debug', 'test:jruby:aot', 'test:slow_suites', 'spec:compiler', 'spec:regression', 'spec:jruby', 'spec:jrubyc', 'spec:profiler'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java 8) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
cache: 'maven' | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby -S rake ${{ matrix.target }} | |
jruby-tests-dev: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
JRUBY_OPTS: '--dev' | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 8 | |
cache: 'maven' | |
- name: rake test:jruby | |
run: bin/jruby --dev -S rake test:jruby | |
rake-test-17-indy: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:mri:core:jit', 'test:jruby:jit', 'spec:compiler', 'spec:ruby:fast:jit', 'spec:ji'] | |
java-version: ['17', '21'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java ${{ matrix.java-version }} +indy) | |
env: | |
JRUBY_OPTS: '-Xcompile.invokedynamic -X+C -Xjit.threshold=0' | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
cache: 'maven' | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby -S rake ${{ matrix.target }} | |
mvn-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
package-flags: ['-Pmain', '-Pdist', '-Pcomplete', '-Posgi', '-Ptest', '-Pmain,test -Dinvoker.test=extended'] | |
java-version: [8, 11, 21] | |
fail-fast: false | |
name: mvn ${{ matrix.package-flags }} (Java ${{ matrix.java-version }}) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
cache: 'maven' | |
- name: mvn package ${{ matrix.package-flags }} | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'package ${{ matrix.package-flags }}' | |
mvn-test-extended: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
package-flags: ['-Pjruby-jars', '-Pjruby-jars,test -Dinvoker.test=extended', '-Pjruby_complete_jar_extended -Dinvoker.skip=true'] | |
java-version: [11, 17] | |
fail-fast: false | |
name: mvn ${{ matrix.package-flags }} (Java ${{ matrix.java-version }}) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java-version }} | |
cache: 'maven' | |
- name: mvn package ${{ matrix.package-flags }} | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'package ${{ matrix.package-flags }}' | |
regression-specs-jit: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
JRUBY_OPTS: '-Xjit.threshold=0' | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
cache: 'maven' | |
- name: rake spec:regression | |
run: bin/jruby -S rake spec:regression | |
mvn-test-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
name: mvn -Ptest, rake test:jruby (Windows, Java 11) | |
env: | |
JAVA_OPTS: "-Djdk.io.File.enableADS=true" | |
JDK_JAVA_OPTS: "-Djdk.io.File.enableADS=true" | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 11 | |
cache: 'maven' | |
- name: rake test:jruby | |
run: bin/jruby -S rake test:jruby TESTOPTS="--no-show-detail-immediately" | |
env: | |
JRUBY_OPTS: '' | |
- name: mvn -P test | |
run: ./mvnw package -B -Ptest | |
dependency-check: | |
runs-on: ubuntu-latest | |
name: Dependency check | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
cache: 'maven' | |
- name: dependency convergence | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'install -Pmain -Dinvoker.test=GH-6081*' | |
test-versions: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
name: Verify build artifacts | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
cache: 'maven' | |
- name: maven-ci-script.sh | |
run: tool/maven-ci-script.sh | |
env: | |
COMMAND: 'test/check_versions.sh' | |
sequel: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
services: | |
postgres: | |
image: postgres:latest | |
ports: [ "5432:5432" ] | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
env: | |
POSTGRES_PASSWORD: postgres | |
mysql: | |
image: mysql:latest | |
env: | |
MYSQL_ROOT_PASSWORD: root | |
MYSQL_DATABASE: sequel_test | |
ports: [ "3306:3306" ] | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 11 | |
cache: 'maven' | |
- name: sequel | |
run: tool/sequel-github-actions.sh | |
concurrent-ruby: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 8 | |
cache: 'maven' | |
- name: concurrent-ruby | |
run: tool/concurrent-ruby-github-actions.sh | |
# mvn-test-m1: | |
# runs-on: [self-hosted, macos, aarch64] | |
# | |
# strategy: | |
# matrix: | |
# package-flags: ['-Ptest'] | |
# # dist, complete, and osgi do not pass on 17 yet | |
# java-version: ['11'] | |
# fail-fast: false | |
# | |
# name: mvn ${{ matrix.package-flags }} (Java ${{ matrix.java-version }} Apple aarch64) | |
# | |
# steps: | |
# - name: checkout | |
# uses: actions/checkout@v3 | |
# - name: set up java ${{ matrix.java-version }} | |
# uses: actions/setup-java@v3 | |
# with: | |
# distribution: 'zulu' | |
# java-version: ${{ matrix.java-version }} | |
# architecture: arm | |
# - name: bootstrap | |
# run: ./mvnw -Pbootstrap clean package | |
# - name: mvn package ${{ matrix.package-flags }} | |
# run: tool/maven-ci-script.sh | |
# env: | |
# PHASE: 'package ${{ matrix.package-flags }}' | |
# | |
# spec-m1: | |
# runs-on: [self-hosted, macos, aarch64] | |
# | |
# strategy: | |
# matrix: | |
# target: ['spec:ffi'] | |
# java-version: ['11'] | |
# fail-fast: false | |
# | |
# name: rake ${{ matrix.target }} (Java ${{ matrix.java-version }} Apple aarch64) | |
# | |
# steps: | |
# - name: Bootstrap build | |
# uses: jruby/jruby-ci-build@v1 | |
# - name: set up java ${{ matrix.java-version }} | |
# uses: actions/setup-java@v3 | |
# with: | |
# distribution: 'zulu' | |
# java-version: ${{ matrix.java-version }} | |
# architecture: arm | |
# cache: 'maven' | |
# - name: rake ${{ matrix.target }} | |
## run: "bin/jruby -S rake ${{ matrix.target }}" | |
# run: "true" | |
maven-test-openj9-8: | |
runs-on: ubuntu-latest | |
name: mvn -Ptest (OpenJ9 Java 17) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt-openj9' | |
java-version: '17' | |
cache: 'maven' | |
- name: test profile | |
run: "tool/maven-ci-script.sh" | |
env: | |
PHASE: 'package -Ptest' | |
rake-test-wip-8: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:mri:core_wip', 'test:mri:stdlib_wip'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java 8) | |
steps: | |
- name: Bootstrap build | |
uses: jruby/jruby-ci-build@v1 | |
- name: set up java 8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
cache: 'maven' | |
- name: rake ${{ matrix.target }} | |
continue-on-error: true | |
run: "bin/jruby -S rake ${{ matrix.target }}" | |
- run: true | |
publish-snapshot: | |
permissions: | |
contents: none | |
if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/jruby-9.3' }} | |
needs: [mvn-test, mvn-test-extended, mvn-test-windows, dependency-check, rake-test, rake-test-17-indy, rake-test-8, test-versions, sequel, concurrent-ruby, jruby-tests-dev, regression-specs-jit] | |
uses: jruby/jruby/.github/workflows/snapshot-publish.yml@6cd0d4d96d9406635183d81cf91acc82cd78245f | |
secrets: | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} |