.circleci/scripts/pre-release-checks.ps1
$ErrorActionPreference = "Stop" if ((Test-ModuleManifest -Path ./Qlik-Cli.psd1).Version -le (Find-Module -Name Qlik-Cli).Version) { Write-Error "Module version already exists" } $password = ConvertTo-SecureString -String $env:GITHUB_TOKEN -AsPlainText -Force $credential = New-Object System.Management.Automation.PSCredential("ahaydon", $password) $release = Invoke-RestMethod ` -Method Get ` -Uri "https://api.github.com/repos/ahaydon/qlik-cli/releases/latest" ` -Credential $credential if ((Test-ModuleManifest -Path ./Qlik-Cli.psd1).Version -le [System.Version]$release.tag_name) { Write-Error "Module version must be newer than last published version" } $version = (Test-ModuleManifest -Path ./Qlik-Cli.psd1).Version $release = $null $null = try { $release = Invoke-RestMethod ` -Method Get ` -Uri "https://api.github.com/repos/ahaydon/qlik-cli/releases/tags/$version" ` -Credential $credential ` -ErrorAction SilentlyContinue } catch [System.Net.Http.HttpRequestException] { if ($_.Exception.Response.StatusCode -ne "NotFound") { Throw $_ } $Error | Out-Null #clear the error so we exit cleanly } if ($release) { Write-Error "Module version already exists" } |