diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/e2e.rb | 1 | ||||
| -rw-r--r-- | lib/e2e/dependency_scanning_report.rb | 14 | ||||
| -rw-r--r-- | lib/e2e/docker.rb | 8 |
3 files changed, 21 insertions, 2 deletions
@@ -1,3 +1,4 @@ require 'json' +require 'e2e/dependency_scanning_report' require 'e2e/docker' require 'e2e/project' diff --git a/lib/e2e/dependency_scanning_report.rb b/lib/e2e/dependency_scanning_report.rb new file mode 100644 index 0000000..9f6e4be --- /dev/null +++ b/lib/e2e/dependency_scanning_report.rb @@ -0,0 +1,14 @@ +class DependencyScanningReport + def initialize(project_path:) + report_path = project_path.join('gl-dependency-scanning-report.json') + @content = report_path.exist? ? JSON.parse(report_path.read) : {} + end + + def to_h + @content + end + + def to_s + JSON.pretty_generate(to_h) + end +end diff --git a/lib/e2e/docker.rb b/lib/e2e/docker.rb index 3c4d589..be85e53 100644 --- a/lib/e2e/docker.rb +++ b/lib/e2e/docker.rb @@ -18,10 +18,14 @@ class Docker end end - def run(image:, project_path: Pathname.pwd, env: {}) + def run(image:, project_path: Pathname.pwd, env: {}, debug: ENV.fetch('DEBUG', 'false') == 'true') env_options = DEFAULT_ENV.merge(env).map { |(key, value)| "--env #{key}=#{value}" } - command = expand([:docker, :run, '-it', '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/analyzer run']) Dir.chdir pwd do + command = if debug + expand([:docker, :run, '-it', "--entrypoint=''", '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/bin/bash -l']) + else + expand([:docker, :run, '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/analyzer run']) + end system(command, exception: true) end end |
