appraisal: Github Actions: "[error]Process completed with exit code 1."

Within the last few days, my Github Actions test suite now fails with "[error]Process completed with exit code 1.".

In my Github workflow I have the following:

- name: bundle install
  run: |
    bundle config path vendor/bundle
    bundle install --jobs 4 --retry 3 --frozen
    bundle exec appraisal install

- name: RuboCop
  run: bundle exec rubocop --parallel

- name: RSpec
  run: |
    bundle exec rake db:reset
    bundle exec appraisal rspec
  env:
    RAILS_ENV: test

The bundle exec appraisal rspec fails. If I change that line to bundle exec rspec, the tests pass (though it only runs 1 gemset).

Here’s the log lines from Github… It’s not much to go off of, I know…

2020-11-12T03:49:14.5609142Z >> BUNDLE_GEMFILE=/home/runner/work/redacted/redacted/gemfiles/rails_6.0.gemfile bundle exec rspec
2020-11-12T03:49:14.5652969Z ##[error]Process completed with exit code 1.

Logs from a few days ago were like this:

2020-11-05T17:47:04.9404657Z >> BUNDLE_GEMFILE=/home/runner/work/redacted/redacted/gemfiles/rails_6.0.gemfile bundle exec rspec
2020-11-05T17:47:08.5480249Z Logs are being suppressed to speed up the test suite. Set TEST_LOGGING=1 to add logging back.
2020-11-05T17:47:08.5481368Z Eager loading is enabled
2020-11-05T17:54:41.6407338Z ..................................................................................

What’s so weird is, if I go to a previous commit that worked fine and click Re-run jobs, it fails with this error now.

I don’t know where to start debugging. Any ideas on how to make the error more verbose?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 2
  • Comments: 19 (11 by maintainers)

Commits related to this issue

Most upvoted comments

This issue seems to be related to specifying the bundle path. Check linked issue above for further info.

@excid3, I see that Kernel.system has an exception: true option (though, I’m confused because it seems to be an instance method, not class method).

It seems like you could possibly just do:

Kernel.system(command_as_string, exception: true)

and it would actually raise an error if the command fails.

https://rubyapi.org/2.7/o/kernel#method-i-system

Here’s the example listed:

system("cat nonexistent.txt", exception: true)
# RuntimeError (Command failed with exit 1: cat)

system("catt nonexistent.txt", exception: true)
# Errno::ENOENT (No such file or directory - catt)