Shopify / Shopify/shipit-engine

Deploy key for uppercase'd repo doesn't work

Open
#584 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
1.5k
Forks
154
Avg merge
2h 26m
Merged PRs (30d)
3

Description

I think this is a bug with GitHub, but if someone happens to run into this with shipit, at least there's now a record of it :) So this is basically a FYI

If you add a repo with uppercase letters in its name to shipit, plus use a GitHub deploy key for authentication, the git clone during a deploy won't be able to find the repo.

Using a regular GitHub user's SSH key with shipit will fix this and allow the git clone to succeed.

Shipit internally downcases the repo name and attempts to git clone the downcased repo name during deploy. The GitHub deploy keys seem to be assigned in a case-sensitive way by GitHub and thus attempting to clone the repo with downcased (wrong) name seems to result in 404. For some reason SSH access to a GitHub repo with an actual user's key is case-insensitive 😊

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Shipit's deploy-time git clone and the repository-name downcasing described in the issue. Reproduce with an uppercase repository and a GitHub deploy key, then compare the result with a regular user's SSH key. Done means the uppercase repository can be cloned during deployment without relying on the user-key workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, ruby
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.