1
Fork 0
mirror of https://gitlab.com/Kwoth/nadekobot.git synced 2024-10-02 20:13:13 +00:00
nadekobot/release.ps1

63 lines
2.2 KiB
PowerShell
Raw Normal View History

function Get-Changelog($lastTag)
2018-12-28 23:11:21 +00:00
{
if(!$lastTag)
{
$lastTag = git describe --tags --abbrev=0
}
$tag = "$lastTag..HEAD"
2020-07-30 10:06:38 +00:00
$clArr = (git log $tag --oneline)
2017-06-10 21:52:44 +00:00
[array]::Reverse($clArr)
2017-06-09 23:12:54 +00:00
$changelog = $clArr | where { "$_" -notlike "*(POEditor.com)*" -and "$_" -notlike "*Merge branch*" -and "$_" -notlike "*Merge pull request*" -and "$_" -notlike "^-*" -and "$_" -notlike "*Merge remote tracking*" }
$changelog = [string]::join([Environment]::NewLine, $changelog)
2017-06-09 23:12:54 +00:00
$cl2 = $clArr | where { "$_" -like "*Merge pull request*" }
$changelog = "## Changes$nl$changelog"
2018-12-28 23:11:21 +00:00
if ($null -ne $cl2) {
2018-03-04 08:04:39 +00:00
$cl2 = [string]::join([Environment]::NewLine, $cl2)
$changelog = $changelog + "$nl ## Pull Requests Merged$nl$cl2"
}
2020-07-30 10:06:38 +00:00
return $changelog
2018-12-28 23:11:21 +00:00
}
2019-04-03 01:11:14 +00:00
function Build-Installer($versionNumber)
{
$env:NADEKOBOT_INSTALL_VERSION = $versionNumber
dotnet clean
# rm -r -fo "src\NadekoBot\bin"
dotnet publish -c Release --runtime win7-x64 /p:Version=$versionNumber
# .\rcedit-x64.exe "src\NadekoBot\bin\Release\netcoreapp2.1\win7-x64\nadekobot.exe" --set-icon "src\NadekoBot\bin\Release\netcoreapp2.1\win7-x64\nadeko_icon.ico"
2019-04-03 01:11:14 +00:00
& "iscc.exe" "/O+" ".\exe_builder.iss"
2019-04-03 01:11:14 +00:00
2020-07-30 10:06:38 +00:00
Write-ReleaseFile($versionNumber)
# $path = [Environment]::GetFolderPath('MyDocuments') + "\_projekti\new_installer\$versionNumber\";
# $binPath = $path + "nadeko-setup-$versionNumber.exe";
# Copy-Item -Path $path -Destination $dest -Force -ErrorAction Stop
2019-04-03 01:11:14 +00:00
# return $path
}
2018-12-28 23:11:21 +00:00
function Write-ReleaseFile($versionNumber) {
$changelog = ""
# pull the changes if they exist
# git pull
# attempt to build teh installer
# $path = Build-Installer $versionNumber
2018-12-28 23:11:21 +00:00
# get changelog before tagging
2020-07-30 10:06:38 +00:00
$changelog = Get-Changelog
# tag the release
2019-09-28 06:45:56 +00:00
# & (git tag, $tag)
2017-06-09 23:12:54 +00:00
# print out the changelog to the console
# Write-Host $changelog
$jsonReleaseFile = "[{""VersionName"": ""$versionNumber"", ""DownloadLink"": ""https://cdn.nadeko.bot/dl/bot/nadeko-setup-$versionNumber.exe"", ""Changelog"": """"}]"
2020-07-30 10:06:38 +00:00
$releaseJsonOutPath = [Environment]::GetFolderPath('MyDocuments') + "\_projekti\nadeko-installers\$versionNumber\"
New-Item -Path $releaseJsonOutPath -Value $jsonReleaseFile -Name "releases.json" -Force
}