Skip to content

Correct Binding#dup to properly propagate values it captures #4940

Correct Binding#dup to properly propagate values it captures

Correct Binding#dup to properly propagate values it captures #4940

Workflow file for this run

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 }}