Skip to content

Fix Error 500 when pushing LFS objects with a write deploy key

Stan Hu requested to merge sh-fix-lfs-write-deploy-keys into master

Attempting to push an LFS object using a deploy key with write access would result in the following:

NoMethodError - undefined method `admin?' for #<DeployKey:0x007fa2c31278d0>:
  activemodel (4.2.8) lib/active_model/attribute_methods.rb:433:in `method_missing'
  app/policies/base_policy.rb:6:in `block in <class:BasePolicy>'
  lib/declarative_policy/condition.rb:21:in `compute'
  lib/declarative_policy/condition.rb:42:in `block in pass?'
  lib/declarative_policy/base.rb:279:in `cache'
  lib/declarative_policy/condition.rb:42:in `pass?'
  lib/declarative_policy/rule.rb:79:in `pass?'
  lib/declarative_policy/step.rb:79:in `pass?'
  lib/declarative_policy/runner.rb:88:in `block in run'
  lib/declarative_policy/runner.rb:176:in `block in steps_by_score'
  lib/declarative_policy/runner.rb:145:in `steps_by_score'
  lib/declarative_policy/runner.rb:78:in `run'
  lib/declarative_policy/runner.rb:56:in `pass?'
  lib/declarative_policy/base.rb:215:in `block in allowed?'
  lib/declarative_policy/base.rb:215:in `allowed?'
  lib/declarative_policy/base.rb:207:in `can?'
  app/models/ability.rb:48:in `allowed?'
  app/controllers/application_controller.rb:144:in `can?'
  app/controllers/concerns/lfs_request.rb:39:in `lfs_check_access!'

Closes #39467 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports