++ dirname ./run.sh
+ cd .
+ echo 1300
+ echo '2.0-SNAPSHOT BUILD'
2.0-SNAPSHOT BUILD
+ date
Tue Feb 10 18:35:02 UTC 2026
+ uptime
18:35:02 up 1 min, 0 users, load average: 1.29, 0.43, 0.15
+ head=git@github.com:yegor256/random-port.git
+ ff=default
+ image=yegor256/ruby
+ rebase=false
+ squash=false
+ head_branch=master
+ author=yegor256
+ tag=0.8.0
+ vars=('--env=head=git@github.com:yegor256/random-port.git' '--env=tag=0.8.0' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/random-port.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.8.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" random-port.gemspec'\'' '\'';'\'' '\''git add random-port.gemspec'\'' '\'';'\'' '\''git commit -m "Version set to ${tag}"'\'' '\'';'\'' '\''gem build random-port.gemspec'\'' '\'';'\'' '\''chmod 0600 ../rubygems.yml'\'' '\'';'\'' '\''gem push *.gem --config-file ../rubygems.yml'\'' '\'';'\'' )' '--env=head_branch=master' '--env=author=yegor256')
+ scripts=('export '\''head=git@github.com:yegor256/random-port.git'\''' ';' 'export '\''tag=0.8.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"' ';' 'bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" random-port.gemspec' ';' 'git add random-port.gemspec' ';' 'git commit -m "Version set to ${tag}"' ';' 'gem build random-port.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';')
+ directory=
+ container=yegor256_random-port_132
+ as_root=false
+ set -e -o pipefail
+ hostname
ip-172-31-18-196
+ pwd
/tmp/rultor-ShXP
+ git --version
git version 2.34.1
+ docker --version
Docker version 25.0.3, build 4debf41
+ mkdir -p /home/ubuntu/.ssh
+ echo -e 'Host github.com\n\tStrictHostKeyChecking no\n'
+ chmod 600 /home/ubuntu/.ssh/config
+ git clone --recurse-submodules git@github.com:yegor256/random-port.git repo
Cloning into 'repo'...
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
+ cd repo
+ git config user.email gpg@rultor.com
+ git config user.name Rultor.com
+ '[' -z 'export '\''head=git@github.com:yegor256/random-port.git'\''' ']'
+ cd ..
+ cat
+ '[' false = true ']'
+ cat
+ chmod a+x entry.sh
+ cat
+ echo 'export '\''head=git@github.com:yegor256/random-port.git'\''' ';' 'export '\''tag=0.8.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"' ';' 'bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" random-port.gemspec' ';' 'git add random-port.gemspec' ';' 'git commit -m "Version set to ${tag}"' ';' 'gem build random-port.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';'
+ sensitive=()
+ set -ex -o pipefail
+ '[' -z 0.8.0 ']'
+ [[ 0.8.0 =~ ^[a-zA-Z0-9\.\-]+$ ]]
+ echo 'tag name is valid: "0.8.0"'
tag name is valid: "0.8.0"
+ cd repo
++ git tag -l 0.8.0
+ '[' -n '' ']'
+ BRANCH_NAME=__rultor
++ wc -l
++ git show-branch __rultor
+ '[' 0 -gt 0 ']'
+ export BRANCH_NAME
+ git checkout -b __rultor
Switched to a new branch '__rultor'
+ docker_when_possible
+ true
++ tail -n 1
++ sed 's/ /\n/g'
++ uptime
+ load=0.16
++ bc
++ echo 0.16 '>' 30
+ '[' 0 -eq 1 ']'
+ echo 'load average is 0.16, low enough to run a new Docker container'
load average is 0.16, low enough to run a new Docker container
+ break
+ cd ..
+ '[' -n '' ']'
+ use_image=yegor256/ruby
+ docker pull yegor256/ruby
Using default tag: latest
latest: Pulling from yegor256/ruby
632ef5283d0f: Pulling fs layer
2be42d221bda: Pulling fs layer
54d1704eb717: Pulling fs layer
f0f51ee5c79e: Pulling fs layer
ec11ce133a4e: Pulling fs layer
71ab1586461a: Pulling fs layer
8e0e2fc3c108: Pulling fs layer
4f4fb700ef54: Pulling fs layer
72e45e6fed5c: Pulling fs layer
99e89f339e27: Pulling fs layer
3f0278ea12d5: Pulling fs layer
11f168291684: Pulling fs layer
0943aaa8f703: Pulling fs layer
fd13cdf0383c: Pulling fs layer
f0f51ee5c79e: Waiting
ec11ce133a4e: Waiting
71ab1586461a: Waiting
8e0e2fc3c108: Waiting
4f4fb700ef54: Waiting
72e45e6fed5c: Waiting
99e89f339e27: Waiting
3f0278ea12d5: Waiting
11f168291684: Waiting
0943aaa8f703: Waiting
fd13cdf0383c: Waiting
2be42d221bda: Verifying Checksum
2be42d221bda: Download complete
632ef5283d0f: Verifying Checksum
632ef5283d0f: Download complete
54d1704eb717: Verifying Checksum
54d1704eb717: Download complete
ec11ce133a4e: Verifying Checksum
ec11ce133a4e: Download complete
8e0e2fc3c108: Verifying Checksum
8e0e2fc3c108: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
72e45e6fed5c: Verifying Checksum
72e45e6fed5c: Download complete
71ab1586461a: Verifying Checksum
71ab1586461a: Download complete
99e89f339e27: Verifying Checksum
99e89f339e27: Download complete
11f168291684: Verifying Checksum
11f168291684: Download complete
0943aaa8f703: Verifying Checksum
0943aaa8f703: Download complete
fd13cdf0383c: Verifying Checksum
fd13cdf0383c: Download complete
f0f51ee5c79e: Verifying Checksum
f0f51ee5c79e: Download complete
3f0278ea12d5: Verifying Checksum
3f0278ea12d5: Download complete
632ef5283d0f: Pull complete
2be42d221bda: Pull complete
54d1704eb717: Pull complete
f0f51ee5c79e: Pull complete
ec11ce133a4e: Pull complete
71ab1586461a: Pull complete
8e0e2fc3c108: Pull complete
4f4fb700ef54: Pull complete
72e45e6fed5c: Pull complete
99e89f339e27: Pull complete
3f0278ea12d5: Pull complete
11f168291684: Pull complete
0943aaa8f703: Pull complete
fd13cdf0383c: Pull complete
Digest: sha256:2efd606f46d102d3ac2341eae193a4da1f1d8af42a73f51ec066a7cb55d5e37d
Status: Downloaded newer image for yegor256/ruby:latest
docker.io/yegor256/ruby:latest
+ grep --quiet '\syegor256_random-port_132\s*$'
+ docker ps --filter=status=exited
+ ls -al .
total 48
drwx------ 3 ubuntu ubuntu 4096 Feb 10 18:35 .
drwxrwxrwt 12 root root 4096 Feb 10 18:34 ..
-rwxrwxr-x 1 ubuntu ubuntu 666 Feb 10 18:35 end.sh
-rwxrwxr-x 1 ubuntu ubuntu 498 Feb 10 18:35 entry.sh
-rw-rw-r-- 1 ubuntu ubuntu 5 Feb 10 18:35 pid
drwxrwxr-x 7 ubuntu ubuntu 4096 Feb 10 18:35 repo
-rw-rw-r-- 1 ubuntu ubuntu 81 Feb 10 18:34 rubygems.yml
-rwxrwxr-x 1 ubuntu ubuntu 6540 Feb 10 18:35 run.sh
-rw-rw-r-- 1 ubuntu ubuntu 662 Feb 10 18:35 script.sh
-rw-rw-r-- 1 ubuntu ubuntu 6203 Feb 10 18:35 stdout
++ pwd
++ pwd
+ docker run -t --rm -v /tmp/rultor-ShXP:/main --env=head=git@github.com:yegor256/random-port.git --env=tag=0.8.0 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/random-port.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.8.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"'\'' '\'';'\'' '\''bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" random-port.gemspec'\'' '\'';'\'' '\''git add random-port.gemspec'\'' '\'';'\'' '\''git commit -m "Version set to ${tag}"'\'' '\'';'\'' '\''gem build random-port.gemspec'\'' '\'';'\'' '\''chmod 0600 ../rubygems.yml'\'' '\'';'\'' '\''gem push *.gem --config-file ../rubygems.yml'\'' '\'';'\'' )' --env=head_branch=master --env=author=yegor256 --hostname=docker --privileged --net=host --dns 8.8.8.8 --add-host docker:127.0.0.1 --memory=8g --memory-swap=16g --oom-kill-disable --cidfile=/tmp/rultor-ShXP/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_random-port_132 yegor256/ruby /main/entry.sh
WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.
+ set -e
+ set -o pipefail
+ shopt -s dotglob
+ useradd -m -G sudo r
++ awk -F : '$3 > 100 { print $1 }'
++ cat /etc/group
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G nogroup r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G ssh r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G docker r
+ for g in $(cat /etc/group | awk -F ':' '$3 > 100 { print $1 }')
+ usermod -a -G r r
+ usermod -s /bin/bash r
+ echo '%sudo ALL=(ALL) NOPASSWD:ALL'
+ cp -R /root/.bashrc /root/.cache /root/.gemrc /root/.profile /home/r
+ cp -R ./cid ./end.sh ./entry.sh ./pid ./repo ./rubygems.yml ./run.sh ./script.sh ./stdout /home/r
+ rm -rf repo
+ chown -R r:r /home/r
+ chmod a+x /home/r/script.sh
+ cat /home/r/script.sh
#!/usr/bin/env bash
set -e
set -o pipefail
if [ -e /home/r/.profile ]; then source /home/r/.profile; fi
shopt -s expand_aliases
alias 'sudo=sudo -i'
export HOME=/home/r
cd "${HOME}/repo"
export 'head=git@github.com:yegor256/random-port.git' ; export 'tag=0.8.0' ; export 'head_branch=master' ; export 'author=yegor256' ; pdd -f /dev/null ; sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile" ; bundle exec rake ; rm -rf *.gem ; sed -i "s/0\.0\.0/${tag}/g" random-port.gemspec ; git add random-port.gemspec ; git commit -m "Version set to ${tag}" ; gem build random-port.gemspec ; chmod 0600 ../rubygems.yml ; gem push *.gem --config-file ../rubygems.yml ;
+ su --login r --command /home/r/script.sh
Found 5 lines in /home/r/repo/.pdd
My version is 0.23.1
Ruby version is 3.4.5 at x86_64-linux
Reading from root dir .
/usr/local/bundle/gems/pdd-0.23.1/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic
/home/r/repo/renovate.json is a binary file (114 bytes)
Reading .0pdd.yml ...
Reading .github/workflows/actionlint.yml ...
Reading .github/workflows/codecov.yml ...
Reading .github/workflows/copyrights.yml ...
Reading .github/workflows/markdown-lint.yml ...
Reading .github/workflows/pdd.yml ...
Reading .github/workflows/rake.yml ...
Reading .github/workflows/reuse.yml ...
Reading .github/workflows/typos.yml ...
Reading .github/workflows/xcop.yml ...
Reading .github/workflows/yamllint.yml ...
Reading .gitignore ...
Reading .pdd ...
Reading .rubocop.yml ...
Reading .rultor.yml ...
Reading Gemfile ...
Reading Gemfile.lock ...
Reading LICENSE.txt ...
Reading LICENSES/MIT.txt ...
Reading README.md ...
Reading REUSE.toml ...
Reading Rakefile ...
Reading lib/random-port/module.rb ...
Reading lib/random-port/pool.rb ...
Reading lib/random-port.rb ...
Reading random-port.gemspec ...
Reading test/test__helper.rb ...
Reading test/test_module.rb ...
Reading test/test_pool.rb ...
Don't run Bundler as root. Installing your bundle as root will break this
application for all non-root users on this machine.
Bundler 2.6.9 is running, but your lockfile was generated with 2.5.16. Installing Bundler 2.5.16 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.5.16
Installing bundler 2.5.16
Don't run Bundler as root. Installing your bundle as root will break this
application for all non-root users on this machine.
Fetching gem metadata from https://rubygems.org/...........
Fetching rake 13.3.1
Installing rake 13.3.1
Fetching ansi 1.5.0
Installing ansi 1.5.0
Fetching ast 2.4.3
Installing ast 2.4.3
Fetching backtrace 0.4.1
Installing backtrace 0.4.1
Fetching builder 3.3.0
Installing builder 3.3.0
Fetching concurrent-ruby 1.3.6
Installing concurrent-ruby 1.3.6
Fetching docile 1.4.1
Installing docile 1.4.1
Fetching ellipsized 0.3.0
Installing ellipsized 0.3.0
Fetching logger 1.7.0
Installing logger 1.7.0
Fetching loog 0.7.2
Installing loog 0.7.2
Fetching tago 0.7.0
Installing tago 0.7.0
Fetching elapsed 0.2.2
Installing elapsed 0.2.2
Fetching json 2.18.0
Installing json 2.18.0 with native extensions
Fetching language_server-protocol 3.17.0.5
Installing language_server-protocol 3.17.0.5
Fetching lint_roller 1.1.0
Installing lint_roller 1.1.0
Fetching prism 1.8.0
Installing prism 1.8.0 with native extensions
Fetching minitest 6.0.1
Installing minitest 6.0.1
Fetching minitest-mock 5.27.0
Installing minitest-mock 5.27.0
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching minitest-reporters 1.7.1
Installing minitest-reporters 1.7.1
Fetching parallel 1.27.0
Installing parallel 1.27.0
Fetching parser 3.3.10.1
Installing parser 3.3.10.1
Fetching qbash 0.7.2
Installing qbash 0.7.2
Fetching regexp_parser 2.11.3
Installing regexp_parser 2.11.3
Fetching rexml 3.4.4
Installing rexml 3.4.4
Fetching rubocop-ast 1.49.0
Installing rubocop-ast 1.49.0
Fetching unicode-emoji 4.2.0
Installing unicode-emoji 4.2.0
Fetching unicode-display_width 3.2.0
Installing unicode-display_width 3.2.0
Fetching rubocop 1.84.1
Installing rubocop 1.84.1
Fetching rubocop-minitest 0.38.2
Installing rubocop-minitest 0.38.2
Fetching rubocop-performance 1.26.1
Installing rubocop-performance 1.26.1
Fetching rubocop-rake 0.7.1
Installing rubocop-rake 0.7.1
Fetching rubocop-rspec 3.9.0
Installing rubocop-rspec 3.9.0
Fetching simplecov-html 0.13.2
Installing simplecov-html 0.13.2
Fetching simplecov_json_formatter 0.1.4
Installing simplecov_json_formatter 0.1.4
Fetching simplecov 0.22.0
Installing simplecov 0.22.0
Fetching simplecov-cobertura 3.1.0
Installing simplecov-cobertura 3.1.0
Fetching threads 0.5.0
Installing threads 0.5.0
Fetching yard 0.9.38
Installing yard 0.9.38
Bundle complete! 15 Gemfile dependencies, 43 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/usr/local/bundle/gems/bundler-2.5.16/lib/bundler/rubygems_ext.rb:250: warning: method redefined; discarding old encode_with
/usr/local/lib/ruby/3.4.0/rubygems/dependency.rb:341: warning: previous definition of encode_with was here
Started with run options --seed 55629
TestRandomPort
test_delegate_acquire_method_without_parameters_and_block_to_pool_singleton32m PASS0m (0.00s)
test_delegate_acquire_method_with_parameters_and_without_block_to_pool_singleton32m PASS0m (0.00s)
test_delegate_acquire_method_with_parameters_and_block_to_pool_singleton32m PASS0m (0.00s)
test_delegate_acquire_method_without_parameters_with_block_to_pool_singleton32m PASS0m (0.00s)
RandomPort::TestPool
test_acquires_unique_numbers_in_no_sync_mode 32m PASS0m (0.00s)
test_acquires_and_releases_in_threads 32m PASS0m (0.15s)
test_acquires_and_releases_three_ports 32m PASS0m (0.00s)
test_acquires_and_releases_in_block 32m PASS0m (0.00s)
test_acquires_and_releases_three_ports_in_block 32m PASS0m (0.00s)
test_skips_truly_busy_port 32m PASS0m (0.00s)
test_acquires_and_releases_safely 32m PASS0m (0.00s)
test_acquires_and_releases 32m PASS0m (0.00s)
test_taking_port_raises_address_not_available_error 32m PASS0m (0.00s)
test_raises_when_too_many 32m PASS0m (0.10s)
test_acquires_unique_numbers 32m PASS0m (0.00s)
test_acquires_and_releases_from_singleton 32m PASS0m (0.00s)
test_acquires_unique_numbers_in_block 32m PASS0m (0.00s)
test_skips_externally_busy_port 32m PASS0m (1.77s)
Finished in 2.04960s
18 tests, 53 assertions, 32m0 failures, 0 errors, 0m33m0 skips0m
Coverage report generated for test to /home/r/repo/coverage.
Line Coverage: 100.0% (69 / 69)
Coverage report generated for test to /home/r/repo/coverage/coverage.xml.
Line Coverage: 100.0% (69 / 69)
/usr/local/bundle/gems/yard-0.9.38/lib/yard/templates/helpers/markup_helper.rb:105: warning: rdoc was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.
You can add rdoc to your Gemfile or gemspec to silence this warning.
?25h2KFiles:1m⣯aGenerat3ngadoc/RandomPort/Pool/Timeout.html0m
Modules: 1 ( 0 undocumented)
Classes: 2 ( 0 undocumented)
Constants: 1 ( 0 undocumented)
Attributes: 1 ( 0 undocumented)
Methods: 10 ( 5 undocumented)
66.67% documented
Running RuboCop...
Inspecting 9 files
32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m
9 files inspected, 32mno offenses0m detected
[__rultor 30e1239] Version set to 0.8.0
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully built RubyGem
Name: random-port
Version: 0.8.0
File: random-port-0.8.0.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: random-port (0.8.0)
+ mv /home/r/repo .
++ whoami
+ chown -R root repo
+ '[' -n '' ']'
++ whoami
+ sudo chown -R ubuntu repo
+ cd repo
+ git checkout __rultor
Already on '__rultor'
+ git tag 0.8.0 -m '0.8.0: tagged by rultor.com'
+ git reset --hard
HEAD is now at 30e1239 Version set to 0.8.0
+ git clean -fd
+ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
+ git branch -D __rultor
Deleted branch __rultor (was 30e1239).
+ git push --all origin
Everything up-to-date
+ git push --tags origin
To github.com:yegor256/random-port.git
* [new tag] 0.8.0 -> 0.8.0
container 407a87a266b87a74676ee9ce96b98b19b30cf43abab202439d3e234492de3ed7 is dead
Tue Feb 10 18:37:15 UTC 2026