From 1291f1eddc503781967859021ca24f552a492b5f Mon Sep 17 00:00:00 2001 From: WorldTeacher Date: Fri, 10 Jan 2025 10:40:16 +0100 Subject: [PATCH] add changelog, release.ps1 --- changelog.md | 7 +++++++ release.ps1 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 changelog.md create mode 100644 release.ps1 diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..7fef493 --- /dev/null +++ b/changelog.md @@ -0,0 +1,7 @@ +# v0.2.2 +- fixed minor bugs in release script + +# v0.2.1 +- Changed logging to use loguru +- reworked cli arguments to be working +- suppressed mkdocs server from hogging the cli and not showing debug info when requested \ No newline at end of file diff --git a/release.ps1 b/release.ps1 new file mode 100644 index 0000000..ddf474f --- /dev/null +++ b/release.ps1 @@ -0,0 +1,47 @@ +# Enable strict mode +Set-StrictMode -Version Latest + +# Run Python setup.py +Write-Host "Running setup.py..." +python setup.py +if ($LASTEXITCODE -ne 0) { + Write-Error "Python script failed. Exiting." + exit 1 +} + +# Get the latest Git tag +Write-Host "Fetching the latest Git tag..." +$latestTag = git describe --tags --abbrev=0 +if (-not $latestTag) { + Write-Error "No Git tags found. Exiting." + exit 1 +} +Write-Host "Latest tag: $latestTag" + +# Read the changelog for the current version +Write-Host "Reading changelog for version $latestTag..." +$changelogPath = "changelog.md" +if (-not (Test-Path $changelogPath)) { + Write-Error "Changelog file not found at $changelogPath. Exiting." + exit 1 +} + +# Extract the changes for the current version from the changelog +$changelogContent = Get-Content $changelogPath -Raw +$changesPattern = "(?s)# $latestTag\b(.*?)(?=^#|\Z)" +$changes = if ($changelogContent -match $changesPattern) { + $matches[1].Trim() +} else { + Write-Error "No changes found for version $latestTag in the changelog. Exiting." + exit 1 +} + +# Create a new release with tea +Write-Host "Creating a new release with tea..." +$releaseTitle = "LibrarySystem - Version $latestTag" +$rel_comment = "Changes in this release: `n$changes`n" +$rel = tea release create --title $releaseTitle --note $rel_comment --tag $latestTag +if (-not $rel) { + Write-Error "Failed to create a new release. Exiting." + exit 1 +}