2018-12-28 23:11:21 +00:00
|
|
|
function Get-Changelog()
|
|
|
|
{
|
2017-06-09 16:47:50 +00:00
|
|
|
$lastTag = git describe --tags --abbrev=0
|
|
|
|
$tag = "$lastTag..HEAD"
|
|
|
|
|
2017-06-10 13:14:00 +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 16:47:50 +00:00
|
|
|
|
2017-06-09 23:12:54 +00:00
|
|
|
$cl2 = $clArr | where { "$_" -like "*Merge pull request*" }
|
2017-06-11 00:26:19 +00:00
|
|
|
$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"
|
2017-06-11 00:26:19 +00:00
|
|
|
}
|
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
|
|
|
|
|
2019-09-21 19:09:43 +00:00
|
|
|
dotnet clean
|
2019-04-03 01:11:14 +00:00
|
|
|
dotnet publish -c Release --runtime win7-x64
|
|
|
|
.\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-05-02 04:56:38 +00:00
|
|
|
& "iscc.exe" "/O+" ".\NadekoBot.iss"
|
2019-04-03 01:11:14 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
$path = [Environment]::GetFolderPath('MyDocuments') + "\_projekti\NadekoInstallerOutput\$versionNumber\nadeko-setup-$versionNumber.exe";
|
|
|
|
Copy-Item -Path $path -Destination $dest -Force -ErrorAction Stop
|
2019-04-03 01:11:14 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
return $path
|
|
|
|
}
|
2018-12-28 23:11:21 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
function DigitaloceanRelease($versionNumber) {
|
2018-12-28 23:11:21 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
# pull the changes if they exist
|
|
|
|
git pull
|
|
|
|
# attempt to build teh installer
|
2019-09-21 19:09:43 +00:00
|
|
|
$path = Build-Installer $versionNumber
|
2018-12-28 23:11:21 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
# get changelog before tagging
|
2018-12-28 23:11:21 +00:00
|
|
|
$changelog = Get-Changelog
|
2019-09-21 13:15:20 +00:00
|
|
|
# tag the release
|
2019-09-21 19:09:43 +00:00
|
|
|
& (git tag, $tag)
|
2017-06-09 23:12:54 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
# print out the changelog to the console
|
|
|
|
Write-Host $changelog
|
2017-06-11 00:26:19 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
$jsonReleaseFile = "[{""VersionName"": ""$versionNumber"", ""DownloadLink"": ""https://nadeko-pictures.nyc3.digitaloceanspaces.com/releases/nadeko-setup-$versionNumber.exe"", ""Changelog"": ""$changelog""}]"
|
2017-06-09 16:47:50 +00:00
|
|
|
|
2019-09-21 13:15:20 +00:00
|
|
|
$releaseJsonOutPath = [Environment]::GetFolderPath('MyDocuments') + "\_projekti\NadekoInstallerOutput\$versionNumber\"
|
|
|
|
New-Item -Path $releaseJsonOutPath -Value $jsonReleaseFile -Name "releases.json" -Force
|
2017-06-09 16:47:50 +00:00
|
|
|
}
|