Raise error early if file does not exist
Description
This MR adds a file existence check when reading the actual report generated and raises an error to exit early (also prints out the absolute file path).
An error occurred while loading /usr/local/bin/dependency-scanning-qa.
Failure/Error: raise "cannot load actual report: #{e}"
RuntimeError:
cannot load actual report: 859: unexpected token at '??#?c?tmpq51r0gig'
# /usr/local/bin/dependency-scanning-qa:12:in `rescue in <top (required)>'
# /usr/local/bin/dependency-scanning-qa:8:in `<top (required)>'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:2112:in `load'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:2112:in `load_file_handling_errors'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:1615:in `block in load_spec_files'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:1613:in `each'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:1613:in `load_spec_files'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:102:in `setup'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:86:in `run'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:71:in `run'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:45:in `invoke'
# /usr/lib/ruby/gems/3.1.0/gems/rspec-core-3.10.2/exe/rspec:4:in `<top (required)>'
# /usr/bin/rspec:25:in `load'
# /usr/bin/rspec:25:in `<main>'
#
# Showing full backtrace because every line was filtered out.
# See docs for RSpec::Configuration#backtrace_exclusion_patterns and
# RSpec::Configuration#backtrace_inclusion_patterns for more information.
# ------------------
# --- Caused by: ---
# JSON::ParserError:
# 859: unexpected token at '??#?c?tmpq51r0gig'
# /usr/lib/ruby/3.1.0/json/common.rb:216:in `parse'
See https://gitlab.com/gitlab-org/security-products/tests/python-pip/-/jobs/3446556886#L72
Edited by Oscar Tovar