Skip to content

Commit 3313288

Browse files
alexveeclealexpdp7
authored andcommitted
feat: allow filtering releases by regex
1 parent 0d11fad commit 3313288

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/github.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,23 @@ impl std::fmt::Display for GitHubRepo {
2222

2323
#[starlark_module]
2424
fn repo_methods(builder: &mut MethodsBuilder) {
25-
fn latest_release(#[starlark(this)] receiver: Value) -> anyhow::Result<GitHubRelease> {
25+
fn latest_release(
26+
#[starlark(this)] receiver: Value,
27+
regex: Option<String>,
28+
) -> anyhow::Result<GitHubRelease> {
2629
let repo = receiver.downcast_ref::<GitHubRepo>().unwrap();
2730
let versions =
2831
git::get_repo_sorted_versions(format!("https://github.com/{}.git", repo.id))?;
2932
let last_version = versions
3033
.iter()
3134
.filter(|v| {
32-
regex::Regex::new(r"^v?[0-9]+([.-][0-9]+)*$")
33-
.unwrap()
34-
.is_match(v)
35+
regex::Regex::new(
36+
&regex
37+
.clone()
38+
.unwrap_or(r"^v?[0-9]+([.-][0-9]+)*$".to_owned()),
39+
)
40+
.unwrap()
41+
.is_match(v)
3542
})
3643
.last()
3744
.unwrap()

0 commit comments

Comments
 (0)