Shopify / Shopify/shipit-engine
GitHub check runs fail in 0.28.0
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 1.5k
- Forks
- 154
- Avg merge
- 2h 26m
- Merged PRs (30d)
- 3
Description
We just upgraded from 0.26.0 to 0.28.0 and our GitHub status checks started failing, with the following error appearing in the sidekiq logs. Is this expected behaviour?
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: 2019-08-08T20:15:55.072Z 3817 TID-gmyi8shc1 WARN: Octokit::Forbidden: GET https://api.github.com/repos/REDACTED/REDACTED/commits/REDACTED/check-runs: 403 - Resource not accessible by integration // See: https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-specific-ref
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: 2019-08-08T20:15:55.072Z 3817 TID-gmyi8shc1 WARN: /home/shipit/.rvm/gems/ruby-2.5.1/gems/octokit-4.12.0/lib/octokit/response/raise_error.rb:16:in `on_complete'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/response.rb:9:in `block in call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/response.rb:61:in `on_complete'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/response.rb:8:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/lib/shipit/strip_cache_control.rb:4:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-http-cache-1.2.2/lib/faraday/http_cache.rb:303:in `fetch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-http-cache-1.2.2/lib/faraday/http_cache.rb:208:in `process'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-http-cache-1.2.2/lib/faraday/http_cache.rb:146:in `call!'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-http-cache-1.2.2/lib/faraday/http_cache.rb:119:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/rack_builder.rb:141:in `build_response'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/connection.rb:386:in `run_request'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/faraday-0.12.2/lib/faraday/connection.rb:149:in `get'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sawyer-0.8.2/lib/sawyer/agent.rb:94:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/octokit-4.12.0/lib/octokit/connection.rb:156:in `request'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/octokit-4.12.0/lib/octokit/connection.rb:84:in `paginate'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/lib/shipit/octokit_check_runs.rb:3:in `check_runs'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/app/models/shipit/commit.rb:143:in `block in refresh_check_runs!'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/app/models/shipit/stack.rb:378:in `handle_github_redirections'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/app/models/shipit/commit.rb:142:in `refresh_check_runs!'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/shipit-engine-0.28.0/app/jobs/shipit/refresh_check_runs_job.rb:7:in `perform'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/execution.rb:39:in `block in perform_now'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/i18n-1.6.0/lib/i18n.rb:297:in `with_locale'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/translation.rb:9:in `block (2 levels) in <module:Translation>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `instance_exec'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/logging.rb:26:in `block (4 levels) in <module:Logging>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in `block in instrument'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in `instrument'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/logging.rb:25:in `block (3 levels) in <module:Logging>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/logging.rb:46:in `block in tag_logger'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `block in tagged'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:28:in `tagged'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in `tagged'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/logging.rb:46:in `tag_logger'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/logging.rb:22:in `block (2 levels) in <module:Logging>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `instance_exec'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:136:in `run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/execution.rb:38:in `perform_now'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/execution.rb:24:in `block in execute'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/railtie.rb:28:in `block (4 levels) in <class:Railtie>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/execution_wrapper.rb:87:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/reloader.rb:73:in `block in wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/execution_wrapper.rb:83:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/reloader.rb:72:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/railtie.rb:27:in `block (3 levels) in <class:Railtie>'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `instance_exec'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:136:in `run_callbacks'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/execution.rb:22:in `execute'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activejob-5.2.3/lib/active_job/queue_adapters/sidekiq_adapter.rb:42:in `perform'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/execution_wrapper.rb:87:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/reloader.rb:73:in `block in wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/execution_wrapper.rb:87:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.3/lib/active_support/reloader.rb:72:in `wrap'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog'
Aug 08 20:15:55 ip-172-31-43-20 env[3813]: /home/shipit/.rvm/gems/ruby-2.5.1/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread'
Downgrading back to 0.26.0 fixes the issue
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with app/models/shipit/commit.rb at refresh_check_runs! and shipit/octokit_check_runs.rb, then review the GitHub Checks API error shown in the Sidekiq log. Reproduce the 403 response after upgrading from 0.26.0 to 0.28.0 and determine the expected check-run behavior; done means the reported check-run failures are resolved or clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, ruby
- Domain
- ci-cd, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100