Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
ddd43ca
Update gems for new rubies
razum2um Jun 1, 2018
46b39cd
Revert unneeded dependency
razum2um Jun 1, 2018
5e4939e
Test new rubies on CI
razum2um Jun 1, 2018
9321a42
Update codeclimate reporter -> use simplecov
razum2um Jun 1, 2018
767c4d6
Fix line numbers in backtrace
razum2um Jun 1, 2018
cfb903e
Update to Fixnum/Bignum
razum2um Jun 1, 2018
5a3da92
Update for missing ::Data
razum2um Jun 1, 2018
0a81434
Adapt for new FrozenError
razum2um Jun 1, 2018
cf7ef3e
Fix for updated webrick buffer
razum2um Jun 1, 2018
2f9ff6b
Decode linebreaks with ox preserving compatibility
razum2um Jun 1, 2018
1cd2872
Test frozen literals in maps
razum2um Jun 1, 2018
9529c05
Stabilize time tests by freezing
razum2um Jun 1, 2018
789388f
Adapt for new bundler
razum2um Jun 1, 2018
aa0b04c
Start test server in a thread waiting for open port
razum2um Jun 1, 2018
75a9886
Openssl doesnt raise with verify_depth=1
razum2um Jun 1, 2018
769cdc4
Merge pull request #21 from razum2um/master
rubyjedi Jun 4, 2018
cdef11e
Bump Version and Refresh RubyGem Gemspec
rubyjedi Jun 21, 2018
6bef595
Update README.md
rubyjedi Jun 21, 2018
bc6c46d
Add "options" Argument to XSD Mapper/Mapping Methods
markborkum Aug 18, 2019
f603de8
Fix Regexp.new ArgumentError on ruby 3.3
agrare Jan 25, 2024
1d153d2
Merge pull request #27 from agrare/fix_regexp_ruby_3_3
rubyjedi May 28, 2024
fca31bf
bump up version number (again) to 2.0.5 to help keep versions in sync
rubyjedi Aug 3, 2024
7eda4f9
bump up version number (again) to 2.0.6 to help keep versions in sync
rubyjedi Aug 3, 2024
dc007d9
only call untaint on ruby < 2.7
aogata-inst Mar 26, 2024
4cf5f3d
Merge pull request #29 from kimausloos/master
rubyjedi Oct 20, 2024
9fa14f4
Merge pull request #22 from markborkum/improvement/mapper-mapping-opt…
rubyjedi Oct 20, 2024
5408eef
CICD Cleanups
rubyjedi Jul 7, 2026
1342fe0
Merge pull request #30 from rubyjedi/cicd_cleanup
rubyjedi Jul 7, 2026
12bfc23
Freshened up code to work against 1.8.7 thru 4.0.5.
rubyjedi Jul 7, 2026
222fd37
Fix regressions revealed via github actions' container base not match…
rubyjedi Jul 7, 2026
fa4f16c
Still resolving weird container-build discrepancies with GH Actions' …
rubyjedi Jul 7, 2026
fa77fae
Make GH Actions use my rbenv container recipe so it's consistent with…
rubyjedi Jul 7, 2026
81c9fb1
CI tweaks specific to how GH Actions creates containers.
rubyjedi Jul 7, 2026
09af9f9
CI bugfies for GH Actions. Again.
rubyjedi Jul 7, 2026
7c36730
Oops. Excessive apostrophes in comments caused problems elsewhere.
rubyjedi Jul 7, 2026
afd8b69
Fix for port-in-use race condition (slow test servers are exacerbatin…
rubyjedi Jul 7, 2026
92debfc
Increasing retry polling to address socket in use issue in some unit …
rubyjedi Jul 7, 2026
4bec506
Test Suite fix: Adding a Thread.kill to forcefully release the port, …
rubyjedi Jul 7, 2026
16a40bc
SMH. More timeout issues to resolve in the test suite. Hope this is t…
rubyjedi Jul 7, 2026
dd8e7f0
Trying another approach to resolve the port contention issue in unit-…
rubyjedi Jul 7, 2026
5d029d8
Cleanups to remove noisy warnings related to static strings
rubyjedi Jul 7, 2026
3f1cd2a
Still working through suppressing warnings in unit test suites..
rubyjedi Jul 7, 2026
8241361
Even more stuff to resolve port contention issue in regression test s…
rubyjedi Jul 8, 2026
eb76c01
Additional test-suite fixes to reduce noisy warning messages.
rubyjedi Jul 8, 2026
e9333fe
Merge current upstream master into marek-veber's PR #19 branch
rubyjedi Jul 9, 2026
324ecd5
Add regression coverage for group ref as a complexType's direct content
rubyjedi Jul 9, 2026
407b019
Bump version to 2.1.1
rubyjedi Jul 9, 2026
79cba34
Merge pull request #19 from marek-veber/master
rubyjedi Jul 9, 2026
c7b8789
Allow HTTP_PROXY settings to use username and password
winstonwolff Nov 10, 2016
9d6be38
Add regression coverage for proxy username/password support
rubyjedi Jul 9, 2026
aeeded5
Merge pull request #31 from rubyjedi/proxy-auth-support
rubyjedi Jul 10, 2026
1b81e3e
Tighten ox pin to exact 2.4.5 to stop a second unresolvable-symbol crash
rubyjedi Jul 10, 2026
d87d74e
Fix duplicate initialize params and honor XSD attribute fixed/default
rubyjedi Jul 10, 2026
d30fee6
Fix illegal double-hyphen inside dupinitparams.wsdl's XML comment
rubyjedi Jul 10, 2026
45f6bd8
Make the HTTP client backend pluggable, and fix stale-CA/net_http bug…
rubyjedi Jul 11, 2026
1794e5b
Add curb and Faraday HTTP client backends, spot-tested against a seco…
rubyjedi Jul 11, 2026
322e228
Swap Faraday's spot-check to typhoeus; drop patron (upstream bug, not…
rubyjedi Jul 11, 2026
548f054
Remove dead http-access2 backend support
rubyjedi Jul 11, 2026
2f7b6d7
Fix a stray "+" in README that GitHub was parsing as a nested list bu…
rubyjedi Jul 11, 2026
420c27d
Merge branch 'master' into feature/curb-faraday-http-backends
rubyjedi Jul 11, 2026
c05c1e9
Close the test-parity gap: backend-neutral wiredump parsing + real SS…
rubyjedi Jul 11, 2026
d7e9ae7
Fix Ruby 1.8.7 compatibility regressions found via full-matrix testing
rubyjedi Jul 11, 2026
9954a30
Fix curb/faraday version-gating and URI/struct bugs found via sequent…
rubyjedi Jul 11, 2026
f55be7a
Fix a real Ox segfault on Ruby 2.2-2.6, reorder Gemfile version gates…
rubyjedi Jul 15, 2026
d19c27a
Scope curb's known SSL exception to continue-on-error, not a hard CI …
rubyjedi Jul 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions .codeclimate.yml

This file was deleted.

32 changes: 32 additions & 0 deletions .github/docker/Dockerfile.legacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Builds a specific legacy Ruby version from source via rbenv/ruby-build.
# Debian bullseye is used (not a newer release) because it still ships
# OpenSSL 1.1.1 and an older GCC, both of which ruby-build's patches for
# ancient Rubies (1.8.7 - 2.1.x) target. Newer OpenSSL 3.x breaks these
# builds even with ruby-build's compatibility patches.
FROM debian:bullseye-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential autoconf bison git ca-certificates curl pkg-config \
libssl-dev libreadline-dev zlib1g-dev libyaml-dev libncurses5-dev \
libffi-dev libgdbm-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev \
psmisc \
&& rm -rf /var/lib/apt/lists/*

ENV RBENV_ROOT=/root/.rbenv
RUN git clone --depth 1 https://github.com/rbenv/rbenv.git "$RBENV_ROOT" \
&& git clone --depth 1 https://github.com/rbenv/ruby-build.git "$RBENV_ROOT/plugins/ruby-build"
ENV PATH="$RBENV_ROOT/bin:$RBENV_ROOT/shims:$PATH"

ARG RUBY_VERSION
# MAKE_OPTS=-j1 is required, not just a slowdown-for-safety measure: ruby-build
# defaults to `make -j$(nproc)`, and on a many-core build host this ancient
# Makefile (bigdecimal's ext build, specifically) loses a directory-creation
# race under real parallelism -- confirmed reproducing "cp: cannot create
# regular file '../../.ext/common/bigdecimal': No such file or directory"
# on a 12-core machine, and confirmed fixed by forcing a serial build. This
# bit us as a non-deterministic CI failure (succeeded once, then failed on
# an identical rebuild minutes later) before being tracked down.
RUN MAKE_OPTS="-j1" RUBY_CONFIGURE_OPTS="--disable-install-doc" rbenv install "$RUBY_VERSION" \
&& rbenv global "$RUBY_VERSION"

RUN echo 'eval "$(rbenv init -)"' >> /root/.bashrc
56 changes: 56 additions & 0 deletions .github/docker/Dockerfile.legacy187
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Builds Ruby 1.8.7 from source against a vendored OpenSSL 1.0.2u.
#
# Unlike 1.9.3-2.1.x, ruby-build's own 1.8.7-p374 definition has no OpenSSL
# handling at all (it's a bare install_package), so rbenv/ruby-build can't
# get this one for free. Ruby 1.8.7's ext/openssl accesses OpenSSL struct
# internals that became fully opaque in OpenSSL 1.1.0 (2016), so it can't
# compile against this (or any modern) base image's system OpenSSL. Instead
# we build OpenSSL 1.0.2u (the same version ruby-build vendors automatically
# for 1.9.3+) from source ourselves and point Ruby's own ./configure at it
# directly -- confirmed working: openssl.so builds, and
# OpenSSL::SSL::SSLContext.new instantiates correctly at runtime.
FROM debian:bullseye-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential curl ca-certificates git \
zlib1g-dev libreadline-dev libyaml-dev libncurses5-dev \
libffi-dev libgdbm-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev \
psmisc \
&& rm -rf /var/lib/apt/lists/*

# Vendored OpenSSL 1.0.2u -- last release of the pre-opaque-struct 1.0 line.
RUN cd /tmp \
&& curl -sL -o openssl-1.0.2u.tar.gz https://www.openssl.org/source/openssl-1.0.2u.tar.gz \
&& tar xzf openssl-1.0.2u.tar.gz \
&& cd openssl-1.0.2u \
&& ./config --prefix=/opt/openssl102 --openssldir=/opt/openssl102/ssl shared zlib -fPIC \
&& make -j"$(nproc)" \
&& make install_sw \
&& cd / && rm -rf /tmp/openssl-1.0.2u /tmp/openssl-1.0.2u.tar.gz

# Ruby 1.8.7-p374, configured against the vendored OpenSSL above.
# -j1: confirmed (via Dockerfile.legacy's rbenv build of 1.9.3, same era of
# Makefile) that these ancient ext/ build systems lose a directory-creation
# race under real parallelism on a many-core host -- serial build trades a
# few extra minutes for a build that doesn't fail nondeterministically.
RUN cd /tmp \
&& curl -sL -o ruby-1.8.7-p374.tar.bz2 https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p374.tar.bz2 \
&& tar xjf ruby-1.8.7-p374.tar.bz2 \
&& cd ruby-1.8.7-p374 \
&& ./configure --prefix=/opt/ruby187 --with-openssl-dir=/opt/openssl102 \
LDFLAGS="-Wl,-rpath,/opt/openssl102/lib" \
&& make -j1 \
&& make install \
&& cd / && rm -rf /tmp/ruby-1.8.7-p374 /tmp/ruby-1.8.7-p374.tar.bz2

ENV PATH="/opt/ruby187/bin:${PATH}"

# RubyGems wasn't bundled with the interpreter until Ruby 1.9 -- 1.8.7 needs
# it installed as a wholly separate package (this is the same rubygems
# release ruby-build itself pairs with 1.8.7).
RUN cd /tmp \
&& curl -sL -o rubygems-1.6.2.tgz https://rubygems.org/rubygems/rubygems-1.6.2.tgz \
&& tar xzf rubygems-1.6.2.tgz \
&& cd rubygems-1.6.2 \
&& ruby setup.rb \
&& cd / && rm -rf /tmp/rubygems-1.6.2 /tmp/rubygems-1.6.2.tgz
Loading