+ set -e + set -o pipefail ++ dirname ./run.sh + cd . + echo 1243 + echo '2.0-SNAPSHOT BUILD' 2.0-SNAPSHOT BUILD + date Tue Feb 4 16:48:34 UTC 2025 + uptime 16:48:34 up 1 min, 0 users, load average: 1.21, 0.37, 0.13 + head=git@github.com:yegor256/rumble.git + ff=default + image=yegor256/rultor-ruby + rebase=false + squash=false + head_branch=master + author=yegor256 + tag=0.9.0 + vars=('--env=head=git@github.com:yegor256/rumble.git' '--env=tag=0.9.0' '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/rumble.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.9.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1'\'' '\'';'\'' '\''DOCKER_SUDO=true bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/rumble/version.rb'\'' '\'';'\'' '\''git add lib/rumble/version.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build rumble.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/rumble.git'\''' ';' 'export '\''tag=0.9.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' '[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1' ';' 'DOCKER_SUDO=true bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/rumble/version.rb' ';' 'git add lib/rumble/version.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build rumble.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';') + directory= + container=yegor256_rumble_56 + as_root=false + hostname ip-172-31-19-195 + pwd /tmp/rultor-2rQo + 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 git@github.com:yegor256/rumble.git repo Cloning into 'repo'... Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. + cd repo + git config user.email me@rultor.com + git config user.name rultor + '[' -z 'export '\''head=git@github.com:yegor256/rumble.git'\''' ']' + cd .. + cat + '[' false = true ']' + cat + chmod a+x entry.sh + cat + echo 'export '\''head=git@github.com:yegor256/rumble.git'\''' ';' 'export '\''tag=0.9.0'\''' ';' 'export '\''head_branch=master'\''' ';' 'export '\''author=yegor256'\''' ';' 'pdd -f /dev/null' ';' 'bundle install --no-color' ';' '[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1' ';' 'DOCKER_SUDO=true bundle exec rake' ';' 'rm -rf *.gem' ';' 'sed -i "s/0\.0\.0/${tag}/g" lib/rumble/version.rb' ';' 'git add lib/rumble/version.rb' ';' 'git commit -m "version set to ${tag}"' ';' 'gem build rumble.gemspec' ';' 'chmod 0600 ../rubygems.yml' ';' 'gem push *.gem --config-file ../rubygems.yml' ';' + sensitive=() + rm -rf .gnupg + set -ex + '[' -z 0.9.0 ']' + [[ 0.9.0 =~ ^[a-zA-Z0-9\.\-]+$ ]] + echo 'tag name is valid: "0.9.0"' tag name is valid: "0.9.0" + cd repo ++ git tag -l 0.9.0 + '[' ']' + export BRANCH_NAME=__rultor + BRANCH_NAME=__rultor ++ wc -l ++ git show-branch __rultor + '[' 0 -gt 0 ']' + git checkout -b __rultor Switched to a new branch '__rultor' + docker_when_possible + true ++ tail -n 1 ++ sed 's/ /\n/g' ++ uptime + load=0.14 ++ bc ++ echo 0.14 '>' 30 + '[' 0 -eq 1 ']' + echo 'load average is 0.14, low enough to run a new Docker container' load average is 0.14, low enough to run a new Docker container + break + cd .. + '[' -n '' ']' + use_image=yegor256/rultor-ruby + docker pull yegor256/rultor-ruby Using default tag: latest latest: Pulling from yegor256/rultor-ruby dafa2b0c44d2: Pulling fs layer 4f4fb700ef54: Pulling fs layer 5ccf01e6cefd: Pulling fs layer 4a5449bec489: Pulling fs layer ac7832f41460: Pulling fs layer d63b8b04cafc: Pulling fs layer 7d5af111f2cc: Pulling fs layer 720999eee6d5: Pulling fs layer 99fbfb6da2e7: Pulling fs layer 2407230a9192: Pulling fs layer 7f36f52815f4: Pulling fs layer 4a5449bec489: Waiting ac7832f41460: Waiting d63b8b04cafc: Waiting 7d5af111f2cc: Waiting 720999eee6d5: Waiting 99fbfb6da2e7: Waiting 2407230a9192: Waiting 7f36f52815f4: Waiting 4f4fb700ef54: Verifying Checksum 4f4fb700ef54: Download complete 4a5449bec489: Verifying Checksum 4a5449bec489: Download complete dafa2b0c44d2: Verifying Checksum dafa2b0c44d2: Download complete d63b8b04cafc: Verifying Checksum d63b8b04cafc: Download complete 7d5af111f2cc: Verifying Checksum 7d5af111f2cc: Download complete 720999eee6d5: Verifying Checksum 720999eee6d5: Download complete 5ccf01e6cefd: Verifying Checksum 5ccf01e6cefd: Download complete ac7832f41460: Verifying Checksum ac7832f41460: Download complete 7f36f52815f4: Verifying Checksum 7f36f52815f4: Download complete 99fbfb6da2e7: Verifying Checksum 99fbfb6da2e7: Download complete 2407230a9192: Verifying Checksum 2407230a9192: Download complete dafa2b0c44d2: Pull complete 4f4fb700ef54: Pull complete 5ccf01e6cefd: Pull complete 4a5449bec489: Pull complete ac7832f41460: Pull complete d63b8b04cafc: Pull complete 7d5af111f2cc: Pull complete 720999eee6d5: Pull complete 99fbfb6da2e7: Pull complete 2407230a9192: Pull complete 7f36f52815f4: Pull complete Digest: sha256:016cc75a948fa99d2fc1ac9be795ad3ca37cb8a3b15d9384b8f1cbd094bc3c94 Status: Downloaded newer image for yegor256/rultor-ruby:latest docker.io/yegor256/rultor-ruby:latest + docker ps --filter=status=exited + grep --quiet '\syegor256_rumble_56\s*$' + ls -al . total 52 drwx------ 3 ubuntu ubuntu 4096 Feb 4 16:48 . drwxrwxrwt 12 root root 4096 Feb 4 16:48 .. -rwxrwxr-x 1 ubuntu ubuntu 2089 Feb 4 16:48 end.sh -rwxrwxr-x 1 ubuntu ubuntu 490 Feb 4 16:48 entry.sh -rw-rw-r-- 1 ubuntu ubuntu 5 Feb 4 16:48 pid drwxrwxr-x 8 ubuntu ubuntu 4096 Feb 4 16:48 repo -rw-rw-r-- 1 ubuntu ubuntu 81 Feb 4 16:48 rubygems.yml -rwxrwxr-x 1 ubuntu ubuntu 9315 Feb 4 16:48 run.sh -rw-rw-r-- 1 ubuntu ubuntu 689 Feb 4 16:48 script.sh -rw-rw-r-- 1 ubuntu ubuntu 5891 Feb 4 16:49 stdout ++ pwd ++ pwd + docker run -t --rm -v /tmp/rultor-2rQo:/main --env=head=git@github.com:yegor256/rumble.git --env=tag=0.9.0 '--env=scripts=( '\''export '\''\'\'''\''head=git@github.com:yegor256/rumble.git'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''tag=0.9.0'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''head_branch=master'\''\'\'''\'''\'' '\'';'\'' '\''export '\''\'\'''\''author=yegor256'\''\'\'''\'''\'' '\'';'\'' '\''pdd -f /dev/null'\'' '\'';'\'' '\''bundle install --no-color'\'' '\'';'\'' '\''[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1'\'' '\'';'\'' '\''DOCKER_SUDO=true bundle exec rake'\'' '\'';'\'' '\''rm -rf *.gem'\'' '\'';'\'' '\''sed -i "s/0\.0\.0/${tag}/g" lib/rumble/version.rb'\'' '\'';'\'' '\''git add lib/rumble/version.rb'\'' '\'';'\'' '\''git commit -m "version set to ${tag}"'\'' '\'';'\'' '\''gem build rumble.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-2rQo/cid -w=/main -v /var/run/docker.sock:/var/run/docker.sock --name=yegor256_rumble_56 yegor256/rultor-ruby /main/entry.sh WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded. Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 + 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 ubuntu 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 rvm 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/.gem /root/.gemrc /root/.gnupg /root/.profile /root/.rvmrc /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 #!/bin/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/rumble.git' ; export 'tag=0.9.0' ; export 'head_branch=master' ; export 'author=yegor256' ; pdd -f /dev/null ; bundle install --no-color ; [[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1 ; DOCKER_SUDO=true bundle exec rake ; rm -rf *.gem ; sed -i "s/0\.0\.0/${tag}/g" lib/rumble/version.rb ; git add lib/rumble/version.rb ; git commit -m "version set to ${tag}" ; gem build rumble.gemspec ; chmod 0600 ../rubygems.yml ; gem push *.gem --config-file ../rubygems.yml ; + su --login r --command /home/r/script.sh Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 Using /usr/local/rvm/gems/ruby-3.2.2 Found 7 lines in /home/r/repo/.pdd My version is 0.23.1 Ruby version is 3.2.2 at x86_64-linux Reading from root dir . Excluding target/**/* Excluding coverage/**/* /usr/local/rvm/gems/ruby-3.2.2/gems/pdd-0.23.1/lib/pdd/sources.rb:90: warning: undefining the allocator of T_DATA class FileMagic /home/r/repo/logo.svg is a binary file (3837 bytes) /home/r/repo/renovate.json is a binary file (107 bytes) Reading .0pdd.yml ... Reading .gitattributes ... 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/xcop.yml ... Reading .github/workflows/yamllint.yml ... Reading .gitignore ... Reading .pdd ... Reading .rubocop.yml ... Reading .rultor.yml ... Reading .simplecov ... Reading Gemfile ... Reading Gemfile.lock ... Reading LICENSE.txt ... Reading README.md ... Reading Rakefile ... Reading bin/rumble ... Reading cucumber.yml ... Reading features/cli.feature ... Reading features/gem_package.feature ... Reading features/step_definitions/steps.rb ... Reading features/support/env.rb ... Reading lib/rumble/cli.rb ... Reading lib/rumble/version.rb ... Reading lib/rumble.rb ... Reading rumble.gemspec ... Reading test/test__helper.rb ... Reading test/test_rumble.rb ... Bundler 2.4.10 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 Fetching gem metadata from https://rubygems.org/........... Fetching rake 13.2.1 Installing rake 13.2.1 Fetching base64 0.2.0 Installing base64 0.2.0 Fetching benchmark 0.4.0 Installing benchmark 0.4.0 Fetching bigdecimal 3.1.9 Installing bigdecimal 3.1.9 with native extensions Fetching concurrent-ruby 1.3.5 Installing concurrent-ruby 1.3.5 Fetching connection_pool 2.5.0 Installing connection_pool 2.5.0 Fetching drb 2.2.1 Installing drb 2.2.1 Fetching i18n 1.14.7 Installing i18n 1.14.7 Fetching logger 1.6.5 Installing logger 1.6.5 Fetching minitest 5.25.4 Installing minitest 5.25.4 Fetching securerandom 0.4.1 Installing securerandom 0.4.1 Fetching tzinfo 2.0.6 Installing tzinfo 2.0.6 Fetching uri 1.0.2 Installing uri 1.0.2 Fetching activesupport 8.0.1 Installing activesupport 8.0.1 Fetching builder 3.3.0 Installing builder 3.3.0 Fetching erubi 1.13.1 Installing erubi 1.13.1 Fetching racc 1.8.1 Installing racc 1.8.1 with native extensions Fetching nokogiri 1.18.2 (x86_64-linux-gnu) Installing nokogiri 1.18.2 (x86_64-linux-gnu) Fetching rails-dom-testing 2.2.0 Installing rails-dom-testing 2.2.0 Fetching crass 1.0.6 Installing crass 1.0.6 Fetching loofah 2.24.0 Installing loofah 2.24.0 Fetching rails-html-sanitizer 1.6.2 Installing rails-html-sanitizer 1.6.2 Fetching actionview 8.0.1 Installing actionview 8.0.1 Fetching rack 3.1.9 Installing rack 3.1.9 Fetching rack-session 2.1.0 Installing rack-session 2.1.0 Fetching rack-test 2.2.0 Installing rack-test 2.2.0 Fetching useragent 0.16.11 Installing useragent 0.16.11 Fetching actionpack 8.0.1 Installing actionpack 8.0.1 Fetching ast 2.4.2 Installing ast 2.4.2 Fetching backtrace 0.4.0 Installing backtrace 0.4.0 Fetching cucumber-ci-environment 10.0.1 Installing cucumber-ci-environment 10.0.1 Fetching cucumber-messages 22.0.0 Installing cucumber-messages 22.0.0 Fetching cucumber-gherkin 27.0.0 Installing cucumber-gherkin 27.0.0 Fetching cucumber-tag-expressions 6.1.2 Installing cucumber-tag-expressions 6.1.2 Fetching cucumber-core 13.0.3 Installing cucumber-core 13.0.3 Fetching cucumber-cucumber-expressions 17.1.0 Installing cucumber-cucumber-expressions 17.1.0 Fetching cucumber-html-formatter 21.9.0 Installing cucumber-html-formatter 21.9.0 Fetching diff-lcs 1.5.1 Installing diff-lcs 1.5.1 Fetching mini_mime 1.1.5 Installing mini_mime 1.1.5 Fetching multi_test 1.1.0 Installing multi_test 1.1.0 Fetching ffi 1.17.1 (x86_64-linux-gnu) Installing ffi 1.17.1 (x86_64-linux-gnu) Fetching sys-uname 1.3.1 Installing sys-uname 1.3.1 Fetching cucumber 9.2.1 Installing cucumber 9.2.1 Fetching date 3.4.1 Installing date 3.4.1 with native extensions Fetching docile 1.4.1 Installing docile 1.4.1 Fetching loog 0.6.0 Installing loog 0.6.0 Fetching tago 0.0.2 Installing tago 0.0.2 Fetching elapsed 0.0.1 Installing elapsed 0.0.1 Fetching io-console 0.8.0 Installing io-console 0.8.0 with native extensions Fetching prettyprint 0.2.0 Installing prettyprint 0.2.0 Fetching pp 0.6.2 Installing pp 0.6.2 Fetching stringio 3.1.2 Installing stringio 3.1.2 with native extensions Fetching psych 5.2.3 Installing psych 5.2.3 with native extensions Fetching rdoc 6.11.0 Installing rdoc 6.11.0 Fetching reline 0.6.0 Installing reline 0.6.0 Fetching irb 1.15.1 Installing irb 1.15.1 Fetching json 2.9.1 Installing json 2.9.1 with native extensions Fetching language_server-protocol 3.17.0.4 Installing language_server-protocol 3.17.0.4 Fetching liquid 5.5.0 Installing liquid 5.5.0 Fetching timeout 0.4.3 Installing timeout 0.4.3 Fetching net-protocol 0.2.2 Installing net-protocol 0.2.2 Fetching net-imap 0.5.5 Installing net-imap 0.5.5 Fetching net-smtp 0.5.0 Installing net-smtp 0.5.0 Fetching mail 2.8.1 Installing mail 2.8.1 Fetching proxifier 1.0.3 Installing proxifier 1.0.3 Fetching net-smtp-proxy 2.0.0 Installing net-smtp-proxy 2.0.0 Fetching openssl 3.3.0 Installing openssl 3.3.0 with native extensions Fetching os 1.1.4 Installing os 1.1.4 Fetching parallel 1.26.3 Installing parallel 1.26.3 Fetching parser 3.3.7.0 Installing parser 3.3.7.0 Fetching qbash 0.3.2 Installing qbash 0.3.2 Fetching rackup 2.2.1 Installing rackup 2.2.1 Fetching thor 1.3.2 Installing thor 1.3.2 Fetching zeitwerk 2.7.1 Installing zeitwerk 2.7.1 Fetching railties 8.0.1 Installing railties 8.0.1 Fetching random-port 0.7.5 Installing random-port 0.7.5 Fetching redcarpet 3.6.0 Installing redcarpet 3.6.0 with native extensions Fetching regexp_parser 2.10.0 Installing regexp_parser 2.10.0 Fetching rexml 3.4.0 Installing rexml 3.4.0 Fetching rspec-support 3.13.2 Installing rspec-support 3.13.2 Fetching rspec-core 3.13.2 Installing rspec-core 3.13.2 Fetching rspec-expectations 3.13.3 Installing rspec-expectations 3.13.3 Fetching rspec-mocks 3.13.2 Installing rspec-mocks 3.13.2 Fetching rspec-rails 7.1.0 Installing rspec-rails 7.1.0 Fetching rubocop-ast 1.38.0 Installing rubocop-ast 1.38.0 Fetching ruby-progressbar 1.13.0 Installing ruby-progressbar 1.13.0 Fetching unicode-emoji 4.0.4 Installing unicode-emoji 4.0.4 Fetching unicode-display_width 3.1.4 Installing unicode-display_width 3.1.4 Fetching rubocop 1.71.2 Installing rubocop 1.71.2 Fetching rubocop-minitest 0.36.0 Installing rubocop-minitest 0.36.0 Fetching rubocop-performance 1.23.1 Installing rubocop-performance 1.23.1 Fetching rubocop-rake 0.6.0 Installing rubocop-rake 0.6.0 Fetching rubocop-rspec 3.4.0 Installing rubocop-rspec 3.4.0 Fetching uuidtools 2.2.0 Installing uuidtools 2.2.0 Fetching simplecov-html 0.13.1 Installing simplecov-html 0.13.1 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 2.1.0 Installing simplecov-cobertura 2.1.0 Fetching yard 0.9.37 Installing yard 0.9.37 Bundle complete! 16 Gemfile dependencies, 104 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/date_time_parser.rb:837: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/date_time_parser.rb:691: warning: assigned but unused variable - testEof /usr/local/rvm/gems/ruby-3.2.2/gems/uuidtools-2.2.0/lib/uuidtools.rb:588: warning: assigned but unused variable - os_class Run options: --seed 50584 # Running: Sending 1 email(s) as Yegor Bugayenko <yegor256@gmail.com> Sending to test@yegor256.com test@yegor256.com <test@yegor256.com>... /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32457: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32618: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32654: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32743: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32759: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32825: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32866: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:32891: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/address_lists_parser.rb:31987: warning: assigned but unused variable - testEof /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/message_ids_parser.rb:5112: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/message_ids_parser.rb:4848: warning: assigned but unused variable - testEof /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/content_type_parser.rb:942: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/content_type_parser.rb:966: warning: statement not reached /usr/local/rvm/gems/ruby-3.2.2/gems/mail-2.8.1/lib/mail/parsers/content_type_parser.rb:712: warning: assigned but unused variable - testEof 32mdone0m #1 Processed 1 emails .+ openssl genrsa -out /tmp/d20250204-1971-fllznk/certs/key.pem 2048 + openssl req -x509 -new -nodes -key /tmp/d20250204-1971-fllznk/certs/key.pem -sha256 -days 1024 -out /tmp/d20250204-1971-fllznk/certs/cert.pem -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost" + sudo docker run --rm -p 1025:1025 -p 1026:8025 -v /tmp/d20250204-1971-fllznk/certs:/etc/certs -e MH_TLS_BIND_ADDR=:1025 -e MH_STORAGE=maildir -e MH_MAILDIR_PATH=/tmp/mailhog -e MH_TLS_CERT_FILE=/etc/certs/cert.pem -e MH_TLS_PRIV_KEY=/etc/certs/key.pem mailhog/mailhog Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: Unable to find image 'mailhog/mailhog:latest' locally #1979: latest: Pulling from mailhog/mailhog #1979: df20fa9351a1: Pulling fs layer #1979: ed8968b2872e: Pulling fs layer #1979: a92cc7c5fd73: Pulling fs layer #1979: f17c8f1adafb: Pulling fs layer #1979: 03954754c53a: Pulling fs layer #1979: 60493946972a: Pulling fs layer #1979: 368ee3bc1dbb: Pulling fs layer #1979: f17c8f1adafb: Waiting #1979: 03954754c53a: Waiting #1979: 60493946972a: Waiting #1979: 368ee3bc1dbb: Waiting #1979: a92cc7c5fd73: Verifying Checksum #1979: a92cc7c5fd73: Download complete #1979: df20fa9351a1: Verifying Checksum #1979: df20fa9351a1: Download complete #1979: ed8968b2872e: Verifying Checksum #1979: ed8968b2872e: Download complete #1979: 03954754c53a: Verifying Checksum #1979: 03954754c53a: Download complete #1979: 368ee3bc1dbb: Verifying Checksum #1979: 368ee3bc1dbb: Download complete #1979: 60493946972a: Verifying Checksum #1979: 60493946972a: Download complete Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: df20fa9351a1: Pull complete #1979: ed8968b2872e: Pull complete #1979: a92cc7c5fd73: Pull complete Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: f17c8f1adafb: Verifying Checksum #1979: f17c8f1adafb: Download complete Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: f17c8f1adafb: Pull complete #1979: 03954754c53a: Pull complete Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: 60493946972a: Pull complete #1979: 368ee3bc1dbb: Pull complete #1979: Digest: sha256:8d76a3d4ffa32a3661311944007a415332c4bb855657f4f6c57996405c009bea #1979: Status: Downloaded newer image for mailhog/mailhog:latest Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: [HTTP] Binding to address: 0.0.0.0:8025 #1979: Creating API v1 with WebPath: #1979: Creating API v2 with WebPath: #1979: 2025/02/04 16:51:28 Using maildir message storage #1979: 2025/02/04 16:51:28 Maildir path is /tmp/mailhog #1979: 2025/02/04 16:51:28 [SMTP] Binding to address: 0.0.0.0:1025 #1979: 2025/02/04 16:51:28 Serving under http://0.0.0.0:8025/ Waiting for mailhog at localhost:1026: Connection refused - connect(2) for "localhost" port 1026 #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Starting session #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: INVALID] Started session, switching to ESTABLISH state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 35 bytes: '220 mailhog.example ESMTP MailHog\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 18 bytes: 'EHLO example.com\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: ESTABLISH] Processing line: EHLO example.com #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: ESTABLISH] In state 1, got command 'EHLO', args 'example.com' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: ESTABLISH] In ESTABLISH state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: ESTABLISH] Got EHLO command, switching to MAIL state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 23 bytes: '250-Hello example.com\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 16 bytes: '250-PIPELINING\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 16 bytes: '250 AUTH PLAIN\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 25 bytes: 'AUTH PLAIN AGZvbwBmb28=\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Processing line: AUTH PLAIN AGZvbwBmb28= #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] In state 6, got command 'AUTH', args 'PLAIN AGZvbwBmb28=' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] In MAIL state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Got AUTH command, staying in MAIL state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Got PLAIN authentication: AGZvbwBmb28= #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 31 bytes: '235 Authentication successful\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 30 bytes: 'MAIL FROM:<from@example.com>\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Processing line: MAIL FROM:<from@example.com> #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] In state 6, got command 'MAIL', args 'FROM:<from@example.com>' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] In MAIL state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Got MAIL command, switching to RCPT state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 32 bytes: '250 Sender from@example.com ok\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 26 bytes: 'RCPT TO:<to@example.com>\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] Processing line: RCPT TO:<to@example.com> #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] In state 7, got command 'RCPT', args 'TO:<to@example.com>' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] In RCPT state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] Got RCPT command #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 33 bytes: '250 Recipient to@example.com ok\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 6 bytes: 'DATA\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] Processing line: DATA #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] In state 7, got command 'DATA', args '' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] In RCPT state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: RCPT] Got DATA command, switching to DATA state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 37 bytes: '354 End data with <CR><LF>.<CR><LF>\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 39 bytes: 'Date: Tue, 04 Feb 2025 16:51:30 +0000\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 624 bytes: 'From: tester <from@example.com>\r\nTo: John Doe <to@example.com>\r\nMessage-ID: <58a4343f-93d1-4b54-9348-7fec320ba75a@#<Enumerator:0x00007f5f5b7b6c38>>\r\nSubject: testing\r\nMime-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary="--==_mimepart_67a2459257973_7c7d70609f9"\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n<p>Hi!</p>\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9--\r\n.\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: DATA] Got EOF, storing message and switching to MAIL state #1979: 2025/02/04 16:51:30 Parsing Content from string: 'Date: Tue, 04 Feb 2025 16:51:30 +0000 #1979: From: tester <from@example.com> #1979: To: John Doe <to@example.com> #1979: Message-ID: <58a4343f-93d1-4b54-9348-7fec320ba75a@#<Enumerator:0x00007f5f5b7b6c38>> #1979: Subject: testing #1979: Mime-Version: 1.0 #1979: Content-Type: multipart/alternative; #1979: boundary="--==_mimepart_67a2459257973_7c7d70609f9" #1979: Content-Transfer-Encoding: 7bit #1979: #1979: #1979: ----==_mimepart_67a2459257973_7c7d70609f9 #1979: Content-Type: text/plain; #1979: charset=UTF-8 #1979: Content-Transfer-Encoding: 7bit #1979: #1979: Hi! #1979: #1979: ----==_mimepart_67a2459257973_7c7d70609f9 #1979: Content-Type: text/html; #1979: charset=UTF-8 #1979: Content-Transfer-Encoding: 7bit #1979: #1979: <p>Hi!</p> #1979: #1979: ----==_mimepart_67a2459257973_7c7d70609f9--' #1979: 2025/02/04 16:51:30 Parsing MIME body #1979: 2025/02/04 16:51:30 Got boundary: --==_mimepart_67a2459257973_7c7d70609f9 #1979: 2025/02/04 16:51:30 Parsing Content from string: '' #1979: 2025/02/04 16:51:30 Parsing Content from string: 'Content-Type: text/plain; #1979: charset=UTF-8 #1979: Content-Transfer-Encoding: 7bit #1979: #1979: Hi!' #1979: 2025/02/04 16:51:30 Parsing Content from string: 'Content-Type: text/html; #1979: charset=UTF-8 #1979: Content-Transfer-Encoding: 7bit #1979: #1979: <p>Hi!</p>' #1979: 2025/02/04 16:51:30 Parsing Content from string: '--' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Storing message H6b9oFS79xanlRBKJFekMZsVNemYpmsvhj1UYqF_DUk=@mailhog.example #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 80 bytes: '250 Ok: queued as H6b9oFS79xanlRBKJFekMZsVNemYpmsvhj1UYqF_DUk=@mailhog.example\r\n' #1979: Got message in APIv2 websocket channel #1979: [APIv2] BROADCAST /api/v2/websocket #1979: Got message in APIv1 event stream #1979: Sending content: { #1979: "ID": "H6b9oFS79xanlRBKJFekMZsVNemYpmsvhj1UYqF_DUk=@mailhog.example", #1979: "From": { #1979: "Relays": null, #1979: "Mailbox": "from", #1979: "Domain": "example.com", #1979: "Params": "" #1979: }, #1979: "To": [ #1979: { #1979: "Relays": null, #1979: "Mailbox": "to", #1979: "Domain": "example.com", #1979: "Params": "" #1979: } #1979: ], #1979: "Content": { #1979: "Headers": { #1979: "Content-Transfer-Encoding": [ #1979: "7bit" #1979: ], #1979: "Content-Type": [ #1979: "multipart/alternative; boundary=\"--==_mimepart_67a2459257973_7c7d70609f9\"" #1979: ], #1979: "Date": [ #1979: "Tue, 04 Feb 2025 16:51:30 +0000" #1979: ], #1979: "From": [ #1979: "tester \u003cfrom@example.com\u003e" #1979: ], #1979: "Message-ID": [ #1979: "\u003c58a4343f-93d1-4b54-9348-7fec320ba75a@#\u003cEnumerator:0x00007f5f5b7b6c38\u003e\u003e" #1979: ], #1979: "Mime-Version": [ #1979: "1.0" #1979: ], #1979: "Received": [ #1979: "from example.com by mailhog.example (MailHog)\r\n id H6b9oFS79xanlRBKJFekMZsVNemYpmsvhj1UYqF_DUk=@mailhog.example; Tue, 04 Feb 2025 16:51:30 +0000" #1979: ], #1979: "Return-Path": [ #1979: "\u003cfrom@example.com\u003e" #1979: ], #1979: "Subject": [ #1979: "testing" #1979: ], #1979: "To": [ #1979: "John Doe \u003cto@example.com\u003e" #1979: ] #1979: }, #1979: "Body": "\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\u003cp\u003eHi!\u003c/p\u003e\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9--", #1979: "Size": 658, #1979: "MIME": null #1979: }, #1979: "Created": "2025-02-04T16:51:30.427392492Z", #1979: "MIME": { #1979: "Parts": [ #1979: { #1979: "Headers": {}, #1979: "Body": "", #1979: "Size": 0, #1979: "MIME": null #1979: }, #1979: { #1979: "Headers": { #1979: "Content-Transfer-Encoding": [ #1979: "7bit" #1979: ], #1979: "Content-Type": [ #1979: "text/plain; charset=UTF-8" #1979: ] #1979: }, #1979: "Body": "Hi!", #1979: "Size": 81, #1979: "MIME": null #1979: }, #1979: { #1979: "Headers": { #1979: "Content-Transfer-Encoding": [ #1979: "7bit" #1979: ], #1979: "Content-Type": [ #1979: "text/html; charset=UTF-8" #1979: ] #1979: }, #1979: "Body": "\u003cp\u003eHi!\u003c/p\u003e", #1979: "Size": 87, #1979: "MIME": null #1979: }, #1979: { #1979: "Headers": {}, #1979: "Body": "--", #1979: "Size": 2, #1979: "MIME": null #1979: } #1979: ] #1979: }, #1979: "Raw": { #1979: "From": "from@example.com", #1979: "To": [ #1979: "to@example.com" #1979: ], #1979: "Data": "Date: Tue, 04 Feb 2025 16:51:30 +0000\r\nFrom: tester \u003cfrom@example.com\u003e\r\nTo: John Doe \u003cto@example.com\u003e\r\nMessage-ID: \u003c58a4343f-93d1-4b54-9348-7fec320ba75a@#\u003cEnumerator:0x00007f5f5b7b6c38\u003e\u003e\r\nSubject: testing\r\nMime-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary=\"--==_mimepart_67a2459257973_7c7d70609f9\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\u003cp\u003eHi!\u003c/p\u003e\r\n\r\n----==_mimepart_67a2459257973_7c7d70609f9--", #1979: "Helo": "example.com" #1979: } #1979: } #1979: #1979: [APIv1] BROADCAST /api/v1/events #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Received 6 bytes: 'QUIT\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Processing line: QUIT #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] In state 6, got command 'QUIT', args '' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] [PROTO: MAIL] Got QUIT verb, staying in MAIL state #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Sent 9 bytes: '221 Bye\r\n' #1979: 2025/02/04 16:51:30 [SMTP 172.17.0.1:45012] Session ended .+ sudo docker run --rm -p 1027:1025 -p 1028:8025 mailhog/mailhog #1994: [HTTP] Binding to address: 0.0.0.0:8025 #1994: Creating API v1 with WebPath: #1994: Creating API v2 with WebPath: #1994: 2025/02/04 16:51:31 Using in-memory storage #1994: 2025/02/04 16:51:31 [SMTP] Binding to address: 0.0.0.0:1025 #1994: 2025/02/04 16:51:31 Serving under http://0.0.0.0:8025/ Waiting for mailhog at localhost:1028: Connection refused - connect(2) for "localhost" port 1028 #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Starting session #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: INVALID] Started session, switching to ESTABLISH state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 35 bytes: '220 mailhog.example ESMTP MailHog\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 18 bytes: 'EHLO example.com\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: ESTABLISH] Processing line: EHLO example.com #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: ESTABLISH] In state 1, got command 'EHLO', args 'example.com' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: ESTABLISH] In ESTABLISH state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: ESTABLISH] Got EHLO command, switching to MAIL state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 23 bytes: '250-Hello example.com\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 16 bytes: '250-PIPELINING\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 16 bytes: '250 AUTH PLAIN\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 25 bytes: 'AUTH PLAIN AGZvbwBmb28=\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Processing line: AUTH PLAIN AGZvbwBmb28= #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] In state 6, got command 'AUTH', args 'PLAIN AGZvbwBmb28=' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] In MAIL state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Got AUTH command, staying in MAIL state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Got PLAIN authentication: AGZvbwBmb28= #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 31 bytes: '235 Authentication successful\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 30 bytes: 'MAIL FROM:<from@example.com>\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Processing line: MAIL FROM:<from@example.com> #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] In state 6, got command 'MAIL', args 'FROM:<from@example.com>' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] In MAIL state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Got MAIL command, switching to RCPT state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 32 bytes: '250 Sender from@example.com ok\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 26 bytes: 'RCPT TO:<to@example.com>\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] Processing line: RCPT TO:<to@example.com> #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] In state 7, got command 'RCPT', args 'TO:<to@example.com>' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] In RCPT state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] Got RCPT command #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 33 bytes: '250 Recipient to@example.com ok\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 6 bytes: 'DATA\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] Processing line: DATA #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] In state 7, got command 'DATA', args '' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] In RCPT state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: RCPT] Got DATA command, switching to DATA state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 37 bytes: '354 End data with <CR><LF>.<CR><LF>\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 39 bytes: 'Date: Tue, 04 Feb 2025 16:51:33 +0000\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 620 bytes: 'From: tester <from@example.com>\r\nTo: John Doe <to@example.com>\r\nMessage-ID: <ac6e3bdd-efb1-4bcf-8e93-f67a4b2fbfd5@#<Enumerator:0x00007efc74cdcdd8>>\r\nSubject: testing\r\nMime-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary="--==_mimepart_67a2459538579_7d5d70-393"\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n<p>Hi!</p>\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393--\r\n.\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: DATA] Got EOF, storing message and switching to MAIL state #1994: 2025/02/04 16:51:33 Parsing Content from string: 'Date: Tue, 04 Feb 2025 16:51:33 +0000 #1994: From: tester <from@example.com> #1994: To: John Doe <to@example.com> #1994: Message-ID: <ac6e3bdd-efb1-4bcf-8e93-f67a4b2fbfd5@#<Enumerator:0x00007efc74cdcdd8>> #1994: Subject: testing #1994: Mime-Version: 1.0 #1994: Content-Type: multipart/alternative; #1994: boundary="--==_mimepart_67a2459538579_7d5d70-393" #1994: Content-Transfer-Encoding: 7bit #1994: #1994: #1994: ----==_mimepart_67a2459538579_7d5d70-393 #1994: Content-Type: text/plain; #1994: charset=UTF-8 #1994: Content-Transfer-Encoding: 7bit #1994: #1994: Hi! #1994: #1994: ----==_mimepart_67a2459538579_7d5d70-393 #1994: Content-Type: text/html; #1994: charset=UTF-8 #1994: Content-Transfer-Encoding: 7bit #1994: #1994: <p>Hi!</p> #1994: #1994: ----==_mimepart_67a2459538579_7d5d70-393--' #1994: 2025/02/04 16:51:33 Parsing MIME body #1994: 2025/02/04 16:51:33 Got boundary: --==_mimepart_67a2459538579_7d5d70-393 #1994: 2025/02/04 16:51:33 Parsing Content from string: '' #1994: 2025/02/04 16:51:33 Parsing Content from string: 'Content-Type: text/plain; #1994: charset=UTF-8 #1994: Content-Transfer-Encoding: 7bit #1994: #1994: Hi!' #1994: 2025/02/04 16:51:33 Parsing Content from string: 'Content-Type: text/html; #1994: charset=UTF-8 #1994: Content-Transfer-Encoding: 7bit #1994: #1994: <p>Hi!</p>' #1994: 2025/02/04 16:51:33 Parsing Content from string: '--' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Storing message CfFAJPsgavZaG5rfuRRiEfSZMNGpY_dR_cRyHqiFOHc=@mailhog.example #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 80 bytes: '250 Ok: queued as CfFAJPsgavZaG5rfuRRiEfSZMNGpY_dR_cRyHqiFOHc=@mailhog.example\r\n' #1994: Got message in APIv2 websocket channel #1994: [APIv2] BROADCAST /api/v2/websocket #1994: Got message in APIv1 event stream #1994: Sending content: { #1994: "ID": "CfFAJPsgavZaG5rfuRRiEfSZMNGpY_dR_cRyHqiFOHc=@mailhog.example", #1994: "From": { #1994: "Relays": null, #1994: "Mailbox": "from", #1994: "Domain": "example.com", #1994: "Params": "" #1994: }, #1994: "To": [ #1994: { #1994: "Relays": null, #1994: "Mailbox": "to", #1994: "Domain": "example.com", #1994: "Params": "" #1994: } #1994: ], #1994: "Content": { #1994: "Headers": { #1994: "Content-Transfer-Encoding": [ #1994: "7bit" #1994: ], #1994: "Content-Type": [ #1994: "multipart/alternative; boundary=\"--==_mimepart_67a2459538579_7d5d70-393\"" #1994: ], #1994: "Date": [ #1994: "Tue, 04 Feb 2025 16:51:33 +0000" #1994: ], #1994: "From": [ #1994: "tester \u003cfrom@example.com\u003e" #1994: ], #1994: "Message-ID": [ #1994: "\u003cac6e3bdd-efb1-4bcf-8e93-f67a4b2fbfd5@#\u003cEnumerator:0x00007efc74cdcdd8\u003e\u003e" #1994: ], #1994: "Mime-Version": [ #1994: "1.0" #1994: ], #1994: "Received": [ #1994: "from example.com by mailhog.example (MailHog)\r\n id CfFAJPsgavZaG5rfuRRiEfSZMNGpY_dR_cRyHqiFOHc=@mailhog.example; Tue, 04 Feb 2025 16:51:33 +0000" #1994: ], #1994: "Return-Path": [ #1994: "\u003cfrom@example.com\u003e" #1994: ], #1994: "Subject": [ #1994: "testing" #1994: ], #1994: "To": [ #1994: "John Doe \u003cto@example.com\u003e" #1994: ] #1994: }, #1994: "Body": "\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\u003cp\u003eHi!\u003c/p\u003e\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393--", #1994: "Size": 654, #1994: "MIME": null #1994: }, #1994: "Created": "2025-02-04T16:51:33.319388763Z", #1994: "MIME": { #1994: "Parts": [ #1994: { #1994: "Headers": {}, #1994: "Body": "", #1994: "Size": 0, #1994: "MIME": null #1994: }, #1994: { #1994: "Headers": { #1994: "Content-Transfer-Encoding": [ #1994: "7bit" #1994: ], #1994: "Content-Type": [ #1994: "text/plain; charset=UTF-8" #1994: ] #1994: }, #1994: "Body": "Hi!", #1994: "Size": 81, #1994: "MIME": null #1994: }, #1994: { #1994: "Headers": { #1994: "Content-Transfer-Encoding": [ #1994: "7bit" #1994: ], #1994: "Content-Type": [ #1994: "text/html; charset=UTF-8" #1994: ] #1994: }, #1994: "Body": "\u003cp\u003eHi!\u003c/p\u003e", #1994: "Size": 87, #1994: "MIME": null #1994: }, #1994: { #1994: "Headers": {}, #1994: "Body": "--", #1994: "Size": 2, #1994: "MIME": null #1994: } #1994: ] #1994: }, #1994: "Raw": { #1994: "From": "from@example.com", #1994: "To": [ #1994: "to@example.com" #1994: ], #1994: "Data": "Date: Tue, 04 Feb 2025 16:51:33 +0000\r\nFrom: tester \u003cfrom@example.com\u003e\r\nTo: John Doe \u003cto@example.com\u003e\r\nMessage-ID: \u003cac6e3bdd-efb1-4bcf-8e93-f67a4b2fbfd5@#\u003cEnumerator:0x00007efc74cdcdd8\u003e\u003e\r\nSubject: testing\r\nMime-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary=\"--==_mimepart_67a2459538579_7d5d70-393\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\nHi!\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n\u003cp\u003eHi!\u003c/p\u003e\r\n\r\n----==_mimepart_67a2459538579_7d5d70-393--", #1994: "Helo": "example.com" #1994: } #1994: } #1994: #1994: [APIv1] BROADCAST /api/v1/events #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Received 6 bytes: 'QUIT\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Processing line: QUIT #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] In state 6, got command 'QUIT', args '' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] [PROTO: MAIL] Got QUIT verb, staying in MAIL state #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Sent 9 bytes: '221 Bye\r\n' #1994: 2025/02/04 16:51:33 [SMTP 172.17.0.1:54008] Session ended . Finished in 25.921362s, 0.1157 runs/s, 0.0000 assertions/s. 3 runs, 0 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/r/repo/coverage/coverage.xml. 64 / 81 LOC (79.01%) covered /usr/local/rvm/rubies/ruby-3.2.2/bin/ruby -S bundle exec cucumber Using the default profile... Feature: Command Line Processing As a newsletter author I want to be able to send a newsletter Scenario: Help can be printed 90m# features/cli.feature:40m 32mWhen I run bin/rumble with "32m1m--help0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:640m0m 32mAnd Stdout contains "32m1m--help0m0m32m"90m # features/step_definitions/steps.rb:560m0m Scenario: Version can be printed 90m# features/cli.feature:90m 32mWhen I run bin/rumble with "32m1m--version0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:640m0m Scenario: Sending test email 90m# features/cli.feature:130m 32mGiven I have a "32m1ma.liquid0m0m32m" file with content:90m # features/step_definitions/steps.rb:450m0m 32m """0m 32m Hi, {{ first }}0m 32m How are you?0m 32m0m 32m """0m 32mWhen I run bin/rumble with "32m1m--test=yegor256@gmail.com --subject=test --letter=a.liquid --from=me@example.com --dry --resume=test@example.com0m0m32m"90m # features/step_definitions/steps.rb:500m0m 32mThen Stdout contains "32m1mProcessed 1 email0m0m32m"90m # features/step_definitions/steps.rb:560m0m 32mAnd Exit code is zero90m # features/step_definitions/steps.rb:640m0m Feature: Gem Package As a source code writer I want to be able to package the Gem into .gem file Scenario: Gem can be packaged 90m# features/gem_package.feature:50m 32mGiven It is Unix90m # features/step_definitions/steps.rb:840m0m 32mGiven I have a "32m1mexecs.rb0m0m32m" file with content:90m # features/step_definitions/steps.rb:450m0m 32m """0m 32m #!/usr/bin/env ruby0m 32m require 'rubygems'0m 32m spec = Gem::Specification::load('./spec.rb')0m 32m if spec.executables.empty?0m 32m fail 'no executables: ' + File.read('./spec.rb')0m 32m end0m 32m """0m /tmp/test20250204-2008-77id6f/rumble/lib/rumble/version.rb:28: warning: already initialized constant Rumble::VERSION /home/r/repo/lib/rumble/version.rb:28: warning: previous definition of VERSION was here 32mWhen I run bash with:90m # features/step_definitions/steps.rb:780m0m 32m """0m 32m cd rumble0m 32m gem build rumble.gemspec0m 32m gem specification --ruby rumble-*.gem > ../spec.rb0m 32m cd ..0m 32m ruby execs.rb0m 32m """0m 32mThen Exit code is zero90m # features/step_definitions/steps.rb:640m0m 4 scenarios (32m4 passed0m) 13 steps (32m13 passed0m) 0m2.624s 1m32m┌──────────────────────────────────────────────────────────────────────────────┐0m0m 1m32m│0m0m Share your Cucumber Report with your team at 4m1m36mhttps://reports.cucumber.io0m0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m Command line option: 36m--publish0m 1m32m│0m0m 1m32m│0m0m Environment variable: 36mCUCUMBER_PUBLISH_ENABLED0m=36mtrue0m 1m32m│0m0m 1m32m│0m0m cucumber.yml: 36mdefault: --publish0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m More information at 4m1m36mhttps://cucumber.io/docs/cucumber/environment-variables/0m0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m 1m32m│0m0m To disable this message, specify 1mCUCUMBER_PUBLISH_QUIET=true0m or use the 1m32m│0m0m 1m32m│0m0m 1m--publish-quiet0m option. You can also add this to your 1mcucumber.yml:0m 1m32m│0m0m 1m32m│0m0m 1mdefault: --publish-quiet0m 1m32m│0m0m 1m32m└──────────────────────────────────────────────────────────────────────────────┘0m0m Coverage report generated for Cucumber Features, Unit Tests to /home/r/repo/coverage. Line Coverage: 79.01% (64 / 81) Running RuboCop... Inspecting 11 files 32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m32m.0m 11 files inspected, 32mno offenses0m detected ?25h2KFiles:1m⣯aGenerat3ngudoc/Rumble/CLI.html0mce.html0m Modules: 1 ( 0 undocumented) Classes: 1 ( 0 undocumented) Constants: 1 ( 1 undocumented) Attributes: 0 ( 0 undocumented) Methods: 2 ( 0 undocumented) 80.00% documented [__rultor 0935383] version set to 0.9.0 1 file changed, 1 insertion(+), 1 deletion(-) WARN: Unresolved or ambiguous specs during Gem::Specification.reset: stringio (>= 0) Available/installed versions of this gem: - 3.1.2 - 3.0.4 WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>' Please report a bug if this causes problems. Successfully built RubyGem Name: rumble Version: 0.9.0 File: rumble-0.9.0.gem WARN: Unresolved or ambiguous specs during Gem::Specification.reset: stringio (>= 0) Available/installed versions of this gem: - 3.1.2 - 3.0.4 WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>' Please report a bug if this causes problems. Pushing gem to https://rubygems.org... Successfully registered gem: rumble (0.9.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.9.0 -m '0.9.0: tagged by rultor.com' + git reset --hard HEAD is now at 0935383 version set to 0.9.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 0935383). + git push --all origin Everything up-to-date + git push --tags origin To github.com:yegor256/rumble.git * [new tag] 0.9.0 -> 0.9.0 container 86d9d7d174a82be66baf6f0c8e0b8be2b3b8a8d389bc5c5b487f7eebad8095d9 is dead Tue Feb 4 16:51:51 UTC 2025