Build/release.ps1
if ($ENV:APPVEYOR_REPO_BRANCH -eq 'master' -and [string]::IsNullOrWhiteSpace($ENV:APPVEYOR_PULL_REQUEST_NUMBER)) { Publish-Module -path . -NuGetApiKey $env:NG_KEY -Verbose -Force #Create GitHub release Write-Host 'Starting GitHub release' $releaseData = @{ tag_name = $ENV:APPVEYOR_BUILD_VERSION target_commitish = 'master' name = $ENV:APPVEYOR_BUILD_VERSION draft = $false prerelease = $false } $auth = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($env:GH_KEY + ':x-oauth-basic')) $releaseParams = @{ Uri = 'https://api.github.com/repos/jandedobbeleer/oh-my-posh/releases' Method = 'POST' Headers = @{ Authorization = $auth } ContentType = 'application/json' Body = (ConvertTo-Json -InputObject $releaseData -Compress) } $result = Invoke-RestMethod @releaseParams $uploadUri = $result | Select-Object -ExpandProperty upload_url $uploadUri = $uploadUri -creplace '\{\?name,label\}' #, '?name=oh-my-posh.zip' $uploadUri = $uploadUri + '?name=oh-my-posh.zip' $distFolder = Join-Path $env:APPVEYOR_BUILD_FOLDER dist mkdir $distFolder | Out-Null $excludedFiles = @(".*", "Build", "appveyor.yml", "TestsResults.xml", "dist") $distFiles = Get-ChildItem $env:APPVEYOR_BUILD_FOLDER -Exclude $excludedFiles $distFiles | Copy-Item -Destination $distFolder -Recurse Add-Type -assembly "system.io.compression.filesystem" [io.compression.zipfile]::CreateFromDirectory($distFolder, "$HOME\Desktop\oh-my-posh.zip") $uploadParams = @{ Uri = $uploadUri Method = 'POST' Headers = @{ Authorization = $auth } ContentType = 'application/zip' InFile = "$HOME\Desktop\oh-my-posh.zip" } $result = Invoke-RestMethod @uploadParams Write-Host 'GitHub release completed' } |