system-tests
system-tests copied to clipboard
Ruby SSI easy wins
Motivation
66 easy wins
Changes
Workflow
- ⚠️ Create your PR as draft ⚠️
- Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
- Mark it as ready for review
- Test logic is modified? -> Get a review from RFC owner. We're working on refining the
codeownersfile quickly. - Framework is modified, or non obvious usage of it -> get a review from R&P team
- Test logic is modified? -> Get a review from RFC owner. We're working on refining the
:rocket: Once your PR is reviewed, you can merge it!
Reviewer checklist
- [ ] If PR title starts with
[<language>], double-check that only<language>is impacted by the change - [ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
- [ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
- [ ] A docker base image is modified?
- [ ] the relevant
build-XXX-imagelabel is present
- [ ] the relevant
- [ ] A scenario is added (or removed)?
- [ ] Get a review from R&P team
$ cd lib-injection/build/docker/ruby/lib_injection_rails_app
$ docker run --rm -it -w $PWD -v $PWD:$PWD ghcr.io/datadog/images-rb/engines/ruby:3.0-centos /bin/bash
# bundle install
# bin/rails server -b 0.0.0.0 -p 5985
also gave:
/Users/loic.nageleisen/Source/github.com/DataDog/system-tests/lib-injection/build/docker/ruby/lib_injection_rails_app/vendor/bundle/ruby/3.0.0/gems/sqlite3-1.6.0-aarch64-linux/lib/sqlite3.rb:4:in `require': /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /Users/loic.nageleisen/Source/github.com/DataDog/system-tests/lib-injection/build/docker/ruby/lib_injection_rails_app/vendor/bundle/ruby/3.0.0/gems/sqlite3-1.6.0-aarch64-linux/lib/sqlite3/3.0/sqlite3_native.so) - /Users/loic.nageleisen/Source/github.com/DataDog/system-tests/lib-injection/build/docker/ruby/lib_injection_rails_app/vendor/bundle/ruby/3.0.0/gems/sqlite3-1.6.0-aarch64-linux/lib/sqlite3/3.0/sqlite3_native.so (LoadError)
i.e sqlite3 must also be built from source; updated accordingly.
There appear to be no other, as:
( set -euo pipefail; shopt -s globstar; for f in /usr/local/bundle/gems/**/*.so; do echo -n "${f}: "; if nm -D "${f}" | grep '@GLIBC_' | sed 's/.*@//' | sort --version-sort | uniq | tail -1; then :; else echo; fi; done )
results in:
/usr/local/bundle/gems/bigdecimal-1.4.4/lib/bigdecimal.so:
/usr/local/bundle/gems/date-3.3.3/lib/date_core.so:
/usr/local/bundle/gems/debug-1.7.1/lib/debug/debug.so:
/usr/local/bundle/gems/io-console-0.6.0/lib/io/console.so:
/usr/local/bundle/gems/nio4r-2.5.8/lib/nio4r_ext.so:
/usr/local/bundle/gems/nokogiri-1.14.2/lib/nokogiri/nokogiri.so:
/usr/local/bundle/gems/puma-5.6.5/lib/puma/puma_http11.so:
/usr/local/bundle/gems/racc-1.6.2/lib/racc/cparse.so:
/usr/local/bundle/gems/sqlite3-1.7.3/lib/sqlite3/sqlite3_native.so:
/usr/local/bundle/gems/websocket-driver-0.7.5/lib/websocket_mask.so
Now we have:
/bin/bash: line 1: /home/ubuntu/.rbenv/shims/rails: No such file or directory
Caused by:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/home/ubuntu/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.3/ext/sqlite3
/home/ubuntu/.rbenv/versions/3.0.2/bin/ruby -I
/home/ubuntu/.rbenv/versions/3.0.2/lib/ruby/3.0.0 -r
./siteconf20250328-5719-wi1m5o.rb extconf.rb
Building sqlite3-ruby using packaged sqlite3.
Extracting sqlite-autoconf-3450200.tar.gz into
tmp/x86_64-linux-gnu/ports/sqlite3/3.45.2... OK
Running 'configure' for sqlite3 3.45.2... OK
Running 'compile' for sqlite3 3.45.2... OK
Running 'install' for sqlite3 3.45.2... OK
Activating sqlite3 3.45.2 (from
/home/ubuntu/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/sqlite3-1.7.3/ports/x86_64-linux-gnu/sqlite3/3.45.2)...
Could not configure the build properly (pkg_config). Please install either the
`pkg-config` utility or the `pkg-config` rubygem.