-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
Summary
Running into a missing gem error:
/home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/definition.rb:691:in `materialize': Could not find io-console-0.8.2 in locally installed gems (Bundler::GemNotFound)
Analysis
This appears to be a result of this commit which added the io-console dependency when it upgraded the pact-mock_service gem.
A temporary work-around would be to downgrade the version of the CLI installed to one prior to 2.5.8.
Reproduction
I noticed the error within GitHub's CI on the ubuntu-latest image.
Installation Logs
Run curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-ruby-standalone/master/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-ruby-standalone/master/install.sh | bash
echo "$HOME/pact/bin" >> $GITHUB_PATH
shell: /usr/bin/bash -e {0}
env:
FORCE_COLOR: 1
CLICOLOR: 1
PYTHONUNBUFFERED: 1
STABLE_PYTHON_VERSION: 3.13
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
NEXTEST_PROFILE: ci
PACT_BROKER_BASE_URL: https://smartbear.pactflow.io/
PACT_BROKER_TOKEN: ***
API_VERSION: 2.0.7
CLI_VERSION: 2.0.7+40fb563c
GIT_BRANCH: main
CARGO_HOME: /home/runner/.cargo
CARGO_INCREMENTAL: 0
CACHE_ON_FAILURE: false
Thanks for downloading the latest release of pact-standalone v2.5.8.
-----
Note:
-----
You can download a fixed version by setting the PACT_CLI_VERSION environment variable eg PACT_CLI_VERSION=v1.92.0
example:
curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-standalone/master/install.sh | PACT_CLI_VERSION=v1.92.0 sh
-------------
Downloading:
-------------
downloaded pact-2.5.8-linux-x86_64.tar.gz
unarchived pact-2.5.8-linux-x86_64.tar.gz
removed pact-2.5.8-linux-x86_64.tar.gz
pact-standalone v2.5.8 installed to /home/runner/work/project/project/pact
-------------------
available commands:
-------------------
pact
pact-broker
pact-message
pact-mock-service
pact-plugin-cli
pact-provider-verifier
pact-publish
pact-stub-server
pact-stub-service
pact_mock_server_cli
pact_verifier_cli
pactflow
Added the following to your path to make pact-cli available:
PATH=/home/runner/work/project/project/pact/bin/:${PATH}
Backtrace
Run cat >>"$GITHUB_STEP_SUMMARY" <<EOF
cat >>"$GITHUB_STEP_SUMMARY" <<EOF
## π Pact Publishing
| Parameter | Value |
|-----------|-----------------|
| Consumer | pactflow-ai-cli |
| Version | $CLI_VERSION |
| Branch | $GIT_BRANCH |
### Published Pacts
EOF
# Publish all generated pact files
for pact_file in target/pacts/*.json; do
if [ -f "$pact_file" ]; then
pact_file_name=$(basename "$pact_file")
echo "- β
$pact_file_name" >> "$GITHUB_STEP_SUMMARY"
pact-broker publish \
"$pact_file" \
--consumer-app-version="$CLI_VERSION" \
--branch="$GIT_BRANCH" \
--verbose
fi
done
shell: /usr/bin/bash -e {0}
env:
FORCE_COLOR: 1
CLICOLOR: 1
PYTHONUNBUFFERED: 1
STABLE_PYTHON_VERSION: 3.13
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
NEXTEST_PROFILE: ci
PACT_BROKER_BASE_URL: https://smartbear.pactflow.io/
PACT_BROKER_TOKEN: ***
API_VERSION: 2.0.7
CLI_VERSION: 2.0.7+40fb563c
GIT_BRANCH: main
CARGO_HOME: /home/runner/.cargo
CARGO_INCREMENTAL: 0
CACHE_ON_FAILURE: false
PATH: /home/runner/work/project/project/pact/bin/:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
/home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/definition.rb:691:in `materialize': Could not find io-console-0.8.2 in locally installed gems (Bundler::GemNotFound)
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/definition.rb:237:in `specs'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/definition.rb:304:in `specs_for'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/runtime.rb:18:in `setup'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler.rb:166:in `setup'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/setup.rb:32:in `block in <top (required)>'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/ui/shell.rb:173:in `with_level'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/ui/shell.rb:119:in `silence'
from /home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/bundler/setup.rb:32:in `<top (required)>'
from <internal:/home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:139:in `require'
from <internal:/home/runner/work/project/project/pact/lib/ruby/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:139:in `require'
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels