diff --git a/src/lib/Hydra/Plugin/GithubStatus.pm b/src/lib/Hydra/Plugin/GithubStatus.pm index e2e4d8ed..7d58c098 100644 --- a/src/lib/Hydra/Plugin/GithubStatus.pm +++ b/src/lib/Hydra/Plugin/GithubStatus.pm @@ -93,8 +93,11 @@ sub common { if (defined $eval->flake) { my $fl = $eval->flake; print STDERR "Flake is $fl\n"; - $eval->flake =~ m!github:([^/]+)/([^/]+)/(.+)$!; - $sendStatus->("src", $1, $2, $3); + if ($eval->flake =~ m!github:([^/]+)/([^/]+)/([[:xdigit:]]{40})$! or $eval->flake =~ m!git\+ssh://git\@github.com/([^/]+)/([^/]+)\?.*rev=([[:xdigit:]]{40})$!) { + $sendStatus->("src", $1, $2, $3); + } else { + print STDERR "Can't parse flake, skipping GitHub status update\n"; + } } else { foreach my $input (@inputs) { my $i = $eval->jobsetevalinputs->find({ name => $input, altnr => 0 });