danger-ruby-swiftlint
danger-ruby-swiftlint copied to clipboard
danger-swiftlint 0.34.0 fails on Jenkins CI
After installing danger-swiftlint 0.34.0 PRs are breaking with the following error:
Ruby version: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
bundler version: Bundler version 2.4.22
23:36:02 [!] The exception involves the following plugins:
23:36:02 - danger-swiftlint
23:36:02
23:36:02
23:36:02 +---------------------------------------+
23:36:02 | fastlane summary |
23:36:02 +------+------------------+-------------+
23:36:02 | Step | Action | Time (in s) |
23:36:02 +------+------------------+-------------+
23:36:02 | 1 | default_platform | 0 |
23:36:02 | 2 | setup_jenkins | 0 |
23:36:02 | 3 | is_ci | 0 |
23:36:02 | 4 | reset_git_repo | 0 |
23:36:02 | 💥 | danger | 5 |
23:36:02 | 6 | danger | 3 |
23:36:02 +------+------------------+-------------+
23:36:02
23:36:02 fastlane finished with errors
23:36:02
23:36:02 Looking for related GitHub issues on fastlane/fastlane...
23:36:02
23:36:02 bundler: failed to load command: fastlane (/Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/fastlane)
23:36:02 /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/fastlane-2.217.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Exit status of command 'bundle exec danger --danger_id=Basic --dangerfile=fastlane/basic.Dangerfile' was 1 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
23:36:02 bundler: failed to load command: danger (/Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/danger)
23:36:02 /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-swiftlint-0.32.0/lib/danger_plugin.rb:68:in `lint_files': (Danger::DSLError)
23:36:02 [!] Invalid `basic.Dangerfile` file: swiftlint is not installed
23:36:02 # from fastlane/basic.Dangerfile:14
23:36:02 # -------------------------------------------
23:36:02 #
23:36:02 > swiftlint.lint_files
23:36:02 #
23:36:02 # -------------------------------------------
23:36:02
23:36:02 from fastlane/basic.Dangerfile:14:in `eval_file'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:311:in `eval'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:311:in `eval_file'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:204:in `block in parse'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:201:in `instance_eval'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:201:in `parse'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:287:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/executor.rb:28:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/commands/runner.rb:73:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/bin/danger:5:in `<top (required)>'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/danger:25:in `load'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/danger:25:in `<top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in `load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in `kernel_load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:23:in `run'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:492:in `exec'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:34:in `dispatch'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:28:in `start'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/exe/bundle:37:in `block in <top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/exe/bundle:29:in `<top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/bin/bundle:25:in `load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/bin/bundle:25:in `<main>'
23:36:02 /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-swiftlint-0.32.0/lib/danger_plugin.rb:68:in `lint_files': swiftlint is not installed (RuntimeError)
23:36:02 from fastlane/basic.Dangerfile:14:in `eval_file'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:311:in `eval'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:311:in `eval_file'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:204:in `block in parse'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:201:in `instance_eval'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:201:in `parse'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/dangerfile.rb:287:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/danger_core/executor.rb:28:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/lib/danger/commands/runner.rb:73:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/gems/danger-9.4.1/bin/danger:5:in `<top (required)>'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/danger:25:in `load'
23:36:02 from /Users/****/JenkinsWorkspace/workspace/ios-test-pr/vendor/bundle/ruby/3.2.0/bin/danger:25:in `<top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in `load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:58:in `kernel_load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli/exec.rb:23:in `run'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:492:in `exec'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:34:in `dispatch'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/cli.rb:28:in `start'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/exe/bundle:37:in `block in <top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
23:36:02 from /Users/****/.gem/ruby/3.2.2/gems/bundler-2.4.22/exe/bundle:29:in `<top (required)>'
23:36:02 from /Users/****/.gem/ruby/3.2.2/bin/bundle:25:in `load'
23:36:02 from /Users/****/.gem/ruby/3.2.2/bin/bundle:25:in `<main>'
From the error you provided
23:36:02 [!] Invalid
basic.Dangerfile
file: swiftlint is not installed
It looks like you're hitting this error: https://github.com/ashfurrow/danger-ruby-swiftlint/blob/bf340a84953b303bb76168124c433d7e0e216dff/lib/danger_plugin.rb#L68 Also tested here: https://github.com/ashfurrow/danger-ruby-swiftlint/blob/bf340a84953b303bb76168124c433d7e0e216dff/spec/danger_plugin_spec.rb#L17-L20
The program can't find the SwiftLint executable. Can you make sure swiftlint is installed in the jenkins node?
puts `which swiftlint`
You can add the above code before invoking the swiftlint plugin in your dangerfile.
@ilkeyucel Did you fix your issue ? I will close it soon