Only waitReadable if errno was EAGAINish #1131
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: | |
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@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
architecture: arm | |
- name: bootstrap | |
run: mvn -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: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
architecture: arm | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby --dev -S rake ${{ matrix.target }} | |
mvn-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
package-flags: ['-Pmain', '-Pdist', '-Pcomplete', '-Posgi', '-Ptest', '-Pmain,test -Dinvoker.test=extended'] | |
# dist, complete, and osgi do not pass on 17 yet | |
java-version: ['8', '11'] | |
fail-fast: false | |
name: mvn ${{ matrix.package-flags }} (Java ${{ matrix.java-version }}) | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: mvn package ${{ matrix.package-flags }} | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'package ${{ matrix.package-flags }}' | |
mvn-test-8: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# jruby-jars phase only passes on 8 | |
package-flags: ['-Pjruby-jars', '-Pjruby-jars,test -Dinvoker.test=extended', '-Pjruby_complete_jar_extended -Dinvoker.skip=true'] | |
fail-fast: false | |
name: mvn ${{ matrix.package-flags }} (Java 8) | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: mvn package ${{ matrix.package-flags }} | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'package ${{ matrix.package-flags }}' | |
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: checkout | |
uses: actions/checkout@v2 | |
- name: set up java 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: 11 | |
- name: Setup Maven Action | |
uses: s4u/setup-maven-action@v1.6.0 | |
with: | |
java-version: 8 | |
maven-version: '3.8.7' | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: install bundler | |
run: bin/jruby --dev -S gem install bundler | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake test:jruby | |
run: bin/jruby --dev -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@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
- name: dependency convergence | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'install -Pmain -Dinvoker.test=GH-6081*' | |
rake-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:mri:core:jit', 'spec:ruby:fast', 'spec:ruby:fast:jit', 'spec:ji', 'spec:ffi'] | |
java-version: ['8', '17'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java ${{ matrix.java-version }}) | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby --dev -S rake ${{ matrix.target }} | |
rake-test-indy: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:jruby', 'spec:compiler'] | |
java-version: ['8', '17'] | |
fail-fast: false | |
name: rake ${{ matrix.target }} (Java ${{ matrix.java-version }} +indy) | |
env: | |
JRUBY_OPTS: '-Xcompile.invokedynamic' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby --dev -S rake ${{ matrix.target }} | |
rake-test-8: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: ['test:mri:core:int', 'test:mri:extra', 'test:jruby:int', '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: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: '8' | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake ${{ matrix.target }} | |
run: bin/jruby --dev -S rake ${{ matrix.target }} | |
test-versions: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
name: Verify build artifacts | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
- 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:11.5 | |
ports: ["5432:5432"] | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
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: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 11 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: sequel | |
run: tool/sequel-github-actions.sh | |
concurrent-ruby: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: concurrent-ruby | |
run: tool/concurrent-ruby-github-actions.sh | |
jruby-tests-dev: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
JRUBY_OPTS: '--dev' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake test:jruby | |
run: bin/jruby --dev -S rake test:jruby | |
ji-specs-indy: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
JRUBY_OPTS: '-Xcompile.invokedynamic' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake spec:ji | |
run: bin/jruby --dev -S rake spec:ji | |
regression-specs-jit: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
JRUBY_OPTS: '-Xjit.threshold=0' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: 8 | |
- name: bootstrap | |
run: mvn -Pbootstrap clean package | |
- name: bundle install | |
run: bin/jruby --dev -S bundle install | |
- name: rake spec:regression | |
run: bin/jruby --dev -S rake spec:regression | |
maven-test-openj9-8: | |
runs-on: ubuntu-latest | |
name: mvn -Ptest (OpenJ9 Java 8) | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.rb') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: set up java ${{ matrix.java-version }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'adopt-openj9' | |
java-version: '8' | |
- name: test profile | |
run: tool/maven-ci-script.sh | |
env: | |
PHASE: 'package -Ptest' | |
publish-snapshot: | |
permissions: | |
contents: none | |
if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/jruby-9.3' }} | |
needs: [mvn-test, mvn-test-8, mvn-test-windows, dependency-check, rake-test, rake-test-indy, rake-test-8, test-versions, sequel, concurrent-ruby, jruby-tests-dev, ji-specs-indy, regression-specs-jit, maven-test-openj9-8] | |
uses: jruby/jruby/.github/workflows/snapshot-publish.yml@6cd0d4d96d9406635183d81cf91acc82cd78245f | |
secrets: | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} |