iterative/cml

Error: URL Parsing Failed {"subject_url":"git@github.com:...\n"}

Eve-ning opened this issue · 2 comments

I've solved this already.
I'm posting as a solution and also a problem, as its failure is not that clear

Problem

When I run

cml runner launch \
  --token="..." \
  --labels="cml-gpu" \
  --idle-timeout="1h" --driver=github

I get

error: URL parsing failed. {"subject_url":"git@github.com:FR-DC/FRDC-ML.git\n"}

Solution

The problem is that CML doesn't recognize the SSH URLs (starts with git@), instead only works with HTTPS URLs (starts with https).

To fix this, edit .git/config

For example:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@github.com:FR-DC/FRDC-ML.git

Change url = ... to the HTTPS variant

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/FR-DC/FRDC-ML.git

Replicating

This usually happens when you clone using SSH. It happened to me as I configured the gh-cli to prefer SSH, and can be a silent failure for many

gh repo clone OWNER/REPO
git clone git@github.com:OWNER/REPO.git

I wonder if running cml ci first could solve this issue.

I wonder if running cml ci first could solve this issue.

$cml ci
error: URL parsing failed. {"subject_url":"git@github.com/FR-DC/FRDC-ML.git\n"}

Unfortunately, it throws the same error if the URL is configured with SSH