У меня есть Ruby скрипт, который я хочу запустить при создании pull-запроса. Этот pull-запрос проверяет ряд условий, чтобы убедиться, что pull-запрос может быть объединен. Это очень простой скрипт без внешних гемов, просто стандартный Ruby.
Я пытаюсь запустить этот скрипт на задании в шаге выполнения. Проблема в том, что я не уверен, куда следует сохранять файл.
Сценарий называется: validator.rb
. С моего локального компьютера я могу запустить скрипт, используя:
ruby -r ./validator.rb -e "Validator.new.validate_something 'One parameter'"
Локально это работает, но когда я делаю sh это на GitHub, это не получается. Я сохранил свой сценарий как .github/workflows/ruby-scripts
, поэтому моя работа выглядит следующим образом:
jobs:
title:
name: "Title"
runs-on: ubuntu-latest
steps:
- run: ruby -r ./ruby-scripts/validator.rb -e "Validator.new.validate_something '${{ github.event.pull_request.title}}'"
И я получаю:
Run ruby -r ./ruby-scripts/validator.rb -e "Validator.new.validate 'Create README.md'"
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:29: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:30: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/local/lib/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- ./ruby-scripts/validator.rb (LoadError)
from /usr/local/lib/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:92:in `require'
##[error]Process completed with exit code 1.
Я пытался использовать все возможные комбинации путей, и каждый время.
Выполнено pwd
и ls
возвращено:
- run: pwd => /home/runner/work/repo-name/repo-name
- run: ls => shell: /bin/bash -e {0}
Как правильно это сделать?