From e11de17e70ae84eb231d88bd287739cf567fd177 Mon Sep 17 00:00:00 2001 From: Seasawher Date: Tue, 3 Sep 2024 01:04:02 +0900 Subject: [PATCH] use semver to get latest (pre)release --- scripts/getLatest.ps1 | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/scripts/getLatest.ps1 b/scripts/getLatest.ps1 index 0d0b47c..237004f 100644 --- a/scripts/getLatest.ps1 +++ b/scripts/getLatest.ps1 @@ -1,21 +1,18 @@ +# get all release tags from leanprover/lean4 $versions = gh release list ` --repo leanprover/lean4 ` --json tagName | ` ConvertFrom-Json | ` - ForEach-Object { $_.tagName } + ForEach-Object { $_.tagName } | ` + ForEach-Object { $_ -replace '^v' } -$versions >> tmp.versionlist.txt +# parse the version tags as semver +$semvers = $versions | ForEach-Object { [System.Management.Automation.SemanticVersion]::new($_) } -gh release download ` - --repo Seasawher/Semver.lean latest ` - --pattern 'semver.exe' ` - --dir "." ` - --skip-existing +# sort the versions and get the latest one +$latest = $semvers | Sort-Object | Select-Object -Last 1 +Write-Host "Latest Lean release is: $latest" -./semver.exe tmp.versionlist.txt lean-toolchain - -$latestLean = Get-Content -Path "lean-toolchain" -Write-Host "Latest Lean version: $latestLean" - -Remove-Item -Path tmp.versionlist.txt -Remove-Item -Path .\semver.exe \ No newline at end of file +# update `lean-toolchain` file +$leanStyleVersion = "leanprover/lean4:v$latest" +$leanStyleVersion | Set-Content -Path lean-toolchain \ No newline at end of file