From 3aa126d64c0c514128777a76635c1d7d9f0a4de7 Mon Sep 17 00:00:00 2001 From: OCram85 Date: Mon, 27 Jun 2022 16:50:48 +0200 Subject: [PATCH] remove deprecated cicd setup --- _.travis.yml | 42 -------- appveyor.yml | 72 ------------- tools/AppVeyor.psm1 | 249 -------------------------------------------- tools/Travis.psm1 | 66 ------------ tools/travis.sh | 14 --- 5 files changed, 443 deletions(-) delete mode 100644 _.travis.yml delete mode 100644 appveyor.yml delete mode 100644 tools/AppVeyor.psm1 delete mode 100644 tools/Travis.psm1 delete mode 100644 tools/travis.sh diff --git a/_.travis.yml b/_.travis.yml deleted file mode 100644 index 2a043d4..0000000 --- a/_.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ - -language: csharp -dotnet: 2.2.101 -mono: none - -git: - depth: 1000 - -os: - - linux -# Disable OSX bulds for now -# - osx - -sudo: required - -dist: xenial -osx_image: xcode8.1 - -matrix: - fast_finish: true - - -#addons: -# artifacts: -# paths: ./dist/PowerShellGet.zip - - -install: - # Default 2.0.0 Ruby is buggy - # Default bundler version is buggy - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - rvm install ruby-2.3.3; - rvm --default use 2.3.3; - fi - - bash <(wget -O - https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.sh) - - pushd tools - - chmod +x travis.sh - - popd - -script: - - echo "TRAVIS_EVENT_TYPE value $TRAVIS_EVENT_TYPE" - - ./tools/travis.sh diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 2537bbc..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,72 +0,0 @@ -# pre release version: -version: 1.0.{build} - -#cache: - -#branches: -# only: -# - master -# - dev -# - debug - -skip_tags: true - -image: Visual Studio 2019 - -# Install pester module and init the Appveyor support. - -# Enable RDP connection for debugging -#init: -# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - -install: - - ps: Import-Module .\tools\AppVeyor.psm1 - - ps: Invoke-InstallDependencies - -environment: - NuGetToken: - secure: 835qfZIkC9mE7QhkYfOZVAdR8rZhPvxG8BO4CbeaelRQOhlqmaSr8G1DWRJzZ/bS - CoverallsToken: - secure: eTjWqHL48MBr8wp1rSgLrXHdtpfDV/uClacP3svlWJfCvn/zVokpuaMnWM5RoyIY - CodeCovToken: - secure: LJOvamWIlVORDE7120KcmWVkHxOFYBSN99linyICXXmXLtYm81K/31YeMGiPlgTm - -before_build: - - ps: Invoke-AppVeyorBumpVersion - -build_script: - - ps: Invoke-AppVeyorBuild - -test_script: - - ps: | - $CodeCoverage = Invoke-AppVeyorTests - if ($null -ne $Env:CoverallsToken) { - Invoke-CoverageReport -PesterCoverageReport $CodeCoverage - } - else { - Write-Warning "No CoverallsToken found. This build seems to be triggered by a PR. Skipping this step..." - } - -deploy: - #- provider: GitHub - # auth_token: - # secure: M+bBX5/nKdJB0eViP7xtrLVTwf3vGDUA9N2MMprZp2i+9ZR3CBVcJnSzJWUmalhB - # artifact: PSCredentialStore.zip # upload all NuGet packages to release assets - # draft: true - # prerelease: true - # on: - # branch: dev - - provider: GitHub - auth_token: - secure: M+bBX5/nKdJB0eViP7xtrLVTwf3vGDUA9N2MMprZp2i+9ZR3CBVcJnSzJWUmalhB - artifact: PSCredentialStore.zip # upload all NuGet packages to release assets - draft: false - prerelease: false - on: - branch: master # build release on master branch changes - -after_deploy: - - ps: Invoke-AppVeyorPSGallery -OnBranch 'master' -# Pause build until `lock` on desktop is deleted. -#on_finish: -# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) diff --git a/tools/AppVeyor.psm1 b/tools/AppVeyor.psm1 deleted file mode 100644 index 3ea9c45..0000000 --- a/tools/AppVeyor.psm1 +++ /dev/null @@ -1,249 +0,0 @@ -<# - Define the callsign of you PowerShell Module. - Callsign is used to identity: - - Module Manifest file name - - Artifact File - - Git repository name - - Module name -#> -$CALLSIGN = 'PSCredentialStore' -Write-Host ("Callsign is: {0}" -f $CALLSIGN) -ForegroundColor Black -BackgroundColor Yellow - - -Function Invoke-InstallDependencies() { - [CmdletBinding()] - Param() - - Process { - Try { - Write-Host 'Available PS modules are:' -ForegroundColor Green -BackgroundColor Black - Get-Module -ListAvailable -Name Pester | Format-Table | Out-String - Get-PackageProvider -ListAvailable - Install-PackageProvider -Name NuGet -RequiredVersion '2.8.5.208' -Force -Verbose - Import-PackageProvider -Name NuGet -RequiredVersion '2.8.5.208' -Force - Write-Host 'Installing build deps...' -ForegroundColor Red -BackgroundColor Black - Install-Module -Name 'Pester' -Scope CurrentUser -RequiredVersion '4.10.1' -Force -SkipPublisherCheck -AllowClobber -Verbose - Install-Module -Name 'posh-git' -Scope CurrentUser -RequiredVersion '0.7.3' -Force -SkipPublisherCheck -AllowClobber - Install-Module -Name 'PSCoverage' -Scope CurrentUser -Force -SkipPublisherCheck -AllowClobber -RequiredVersion '1.2.108' -Verbose - Import-Module -Name 'posh-git' - Remove-Module -Name 'Pester' -Force -ErrorAction SilentlyContinue - Import-Module -Name 'Pester' -RequiredVersion '4.10.1' -Verbose -Force - Import-Module -Name 'PSCoverage' -RequiredVersion '1.2.108' -Verbose -Force - } - Catch { - $MsgParams = @{ - Message = 'Could not install the required dependencies!' - Category = 'Error' - Details = $_.Exception.Message - } - Add-AppveyorMessage @MsgParams - Throw $MsgParams.Message - } - Write-Host 'Loaded PS modules are:' -ForegroundColor Green -BackgroundColor Black - Get-Module -Name Pester | Format-Table | Out-String - } -} -Function Invoke-AppVeyorBumpVersion() { - [CmdletBinding()] - Param() - - Write-Host "Listing Env Vars for debugging:" -ForegroundColor Black -BackgroundColor Yellow - # Filter Results to prevent exposing secure vars. - Get-ChildItem -Path "Env:*" | Where-Object { $_.name -notmatch "(NuGetToken|CoverallsToken|CodeCovToken)" } | Sort-Object -Property Name | Format-Table - - Try { - $ModManifest = Get-Content -Path (".\src\{0}.psd1" -f $CALLSIGN) - $BumpedManifest = $ModManifest -replace '0.0.9999', $Env:APPVEYOR_BUILD_VERSION - Remove-Item -Path (".\src\{0}.psd1" -f $CALLSIGN) - Out-File -FilePath (".\src\{0}.psd1" -f $CALLSIGN) -InputObject $BumpedManifest -NoClobber -Encoding utf8 -Force - } - Catch { - $MsgParams = @{ - Message = 'Could not bump current version into module manifest.' - Category = 'Error' - Details = $_.Exception.Message - } - Add-AppveyorMessage @MsgParams - Throw $MsgParams.Message - } -} - -Function Invoke-AppVeyorBuild() { - [CmdletBinding()] - [OutputType([PsCustomObject])] - Param() - $MsgParams = @{ - Message = 'Creating build artifacts' - Category = 'Information' - Details = 'Extracting source files and compressing them into zip file.' - } - Add-AppveyorMessage @MsgParams - $CompParams = @{ - Path = "{0}\src\*" -f $env:APPVEYOR_BUILD_FOLDER - DestinationPath = "{0}\bin\{1}.zip" -f $env:APPVEYOR_BUILD_FOLDER, $CALLSIGN - Update = $True - Verbose = $True - } - Compress-Archive @CompParams - $MsgParams = @{ - Message = 'Pushing artifacts' - Category = 'Information' - Details = 'Pushing artifacts to AppVeyor store.' - } - Add-AppveyorMessage @MsgParams - $ArtifactPath = Join-Path -Path '.' -ChildPath ('bin/{0}.zip' -f $CALLSIGN) - Push-AppveyorArtifact $ArtifactPath -} - -Function Invoke-AppVeyorTests() { - [CmdletBinding()] - Param() - - $MsgParams = @{ - Message = 'Starting Pester tests' - Category = 'Information' - Details = 'Now running all test found in .\tests\ dir.' - } - Add-AppveyorMessage @MsgParams - - try { - Write-Host '===== Preload internal private functions =====' -ForegroundColor Black -BackgroundColor Yellow - - $Privates = Get-ChildItem -Path (Join-Path -Path $Env:APPVEYOR_BUILD_FOLDER -ChildPath '/src/Private/*') -Include "*.ps1" -Recurse - foreach ($File in $Privates) { - if (Test-Path -Path $File.FullName) { - . $File.FullName - Write-Verbose -Message ('Private function dot-sourced: {0}' -f $File.FullName) -Verbose - } - else { - Write-Warning -Message ('Could not find file: {0} !' -f $File.FullName) - } - } - Write-Host '===== Preload done. =====' -ForegroundColor Black -BackgroundColor Yellow - } - catch { - $_.Exception.Message | Write-Error - throw 'Could not load required private functions!' - } - - #$testresults = Invoke-Pester -Path ( Get-ChildItem -Path ".\tests\*.Tests.ps1" -Recurse | Sort-Object -Property Name ) -ExcludeTag 'Disabled' -PassThru - $srcFiles = Get-ChildItem -Path ".\src\*.ps1" -Recurse | Sort-Object -Property 'Name' | Select-Object -ExpandProperty 'FullName' - $testFiles = Get-ChildItem -Path ".\tests\*.Tests.ps1" -Recurse | Sort-Object -Property 'Name' | Select-Object -ExpandProperty 'FullName' - $TestResults = Invoke-Pester -Path $testFiles -CodeCoverage $srcFiles -PassThru -CodeCoverageOutputFile ".\coverage.xml" -CodeCoverageOutputFileEncoding ascii -CodeCoverageOutputFileFormat JaCoCo - ForEach ($Item in $TestResults.TestResult) { - Switch ($Item.Result) { - "Passed" { - $TestParams = @{ - Name = "{0}: {1}" -f $Item.Context, $Item.Name - Framework = "NUnit" - Filename = $Item.Describe - Outcome = "Passed" - Duration = $Item.Time.Milliseconds - } - Add-AppveyorTest @TestParams - } - "Failed" { - $TestParams = @{ - Name = "{0}: {1}" -f $Item.Context, $Item.Name - Framework = "NUnit" - Filename = $Item.Describe - Outcome = "Failed" - Duration = $Item.Time.Milliseconds - ErrorMessage = $Item.FailureMessage - ErrorStackTrace = $Item.StackTrace - } - Add-AppveyorTest @TestParams - } - Default { - $TestParams = @{ - Name = "{0}: {1}" -f $Item.Context, $Item.Name - Framework = "NUnit" - Filename = $Item.Describe - Outcome = "None" - Duration = $Item.Time.Milliseconds - ErrorMessage = $Item.FailureMessage - ErrorStackTrace = $Item.StackTrace - } - Add-AppveyorTest @TestParams - } - } - } - If ($TestResults.FailedCount -gt 0) { - $MsgParams = @{ - Message = 'Pester Tests failed.' - Category = 'Error' - Details = "$($TestResults.FailedCount) tests failed." - } - Add-AppveyorMessage @MsgParams - Throw $MsgParams.Message - } - - return $TestResults.CodeCoverage - -} - -Function Invoke-CoverageReport() { - [CmdletBinding()] - Param( - [Parameter(Mandatory = $False)] - [ValidateNotNullOrEmpty()] - [String]$RepoToken = $Env:CoverallsToken, - - [Parameter(Mandatory = $True)] - [ValidateNotNullOrEmpty()] - [PSCustomObject]$PesterCoverageReport - ) - - #$CoverageReport | Format-Custom -Depth 5 | Out-String | Write-Verbose - $CoverageReport = New-CoverageReport -CodeCoverage $PesterCoverageReport -RepoToken $RepoToken - Write-Host "CoverageReport JSON:" -ForegroundColor Yellow - #$CoverageReport | ConvertTo-Json -Depth 5 | Out-String | Write-Verbose - Publish-CoverageReport -CoverageReport $CoverageReport -} - - -Function Invoke-AppVeyorPSGallery() { - [CmdletBinding()] - Param( - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [String]$OnBranch - ) - Expand-Archive -Path (".\bin\{0}.zip" -f $CALLSIGN) -DestinationPath ("C:\Users\appveyor\Documents\WindowsPowerShell\Modules\{0}\" -f $CALLSIGN) -Verbose - Import-Module -Name $CALLSIGN -Verbose -Force - Write-Host "Available Package Provider:" -ForegroundColor Black -BackgroundColor Yellow - Get-PackageProvider -ListAvailable - Write-Host "Available Package Sources:" -ForegroundColor Black -BackgroundColor Yellow - Get-PackageSource - Try { - Write-Host "Try to get NuGet Provider:" -ForegroundColor Black -BackgroundColor Yellow - Get-PackageProvider -Name NuGet -ErrorAction Stop - } - Catch { - Write-Host "Installing NuGet..." -ForegroundColor Black -BackgroundColor Yellow - Install-PackageProvider -Name NuGet -MinimumVersion '2.8.5.201' -Force -Verbose - Import-PackageProvider NuGet -MinimumVersion '2.8.5.201' -Force - } - Try { - If ($env:APPVEYOR_REPO_BRANCH -eq 'master') { - Write-Host "try to publish module" -ForegroundColor Black -BackgroundColor Yellow - Write-Host ("Callsign is: {0}" -f $CALLSIGN) -ForegroundColor Black -BackgroundColor Yellow - Publish-Module -Name $CALLSIGN -NuGetApiKey $env:NuGetToken -Verbose -Force -AllowPrerelease - } - Else { - Write-Host "Skip publishing to PS Gallery because we are on $($env:APPVEYOR_REPO_BRANCH) branch." -ForegroundColor Black -BackgroundColor Yellow - # had to remove the publish-Module statement because it would publish although the -WhatIf is given. - # Publish-Module -Name $CALLSIGN -NuGetApiKey $env:NuGetToken -Verbose -WhatIf - } - } - Catch { - $MsgParams = @{ - Message = 'Could not deploy module to PSGallery.' - Category = 'Error' - Details = $_.Exception.Message - } - $_.Exception.Message | Write-Error - Add-AppveyorMessage @MsgParams - Throw $MsgParams.Message - } -} diff --git a/tools/Travis.psm1 b/tools/Travis.psm1 deleted file mode 100644 index d4a37f6..0000000 --- a/tools/Travis.psm1 +++ /dev/null @@ -1,66 +0,0 @@ -$Global:ProgressPreference = 'SilentlyContinue' - -$CALLSIGN = 'PSCredentialStore' -Write-Host ("Callsign is: {0}" -f $CALLSIGN) -ForegroundColor Black -BackgroundColor Yellow - -function Invoke-InstallDependencies { - [CmdletBinding()] - Param() - - process { - try { - Write-Host '===== Environment Vars: =====' -ForegroundColor Black -BackgroundColor Yellow - Get-ChildItem -Path Env: - - Write-Host -Message '===== Existing Variables: =====' -ForegroundColor Black -BackgroundColor Yellow - Get-Variable -Name * | Format-Table -AutoSize - - Get-PackageProvider -ListAvailable - Import-PackageProvider -Name 'NuGet' -MinimumVersion '2.8.5.208' -Verbose -Force - - Install-Module -Name 'Pester' -Scope CurrentUser -RequiredVersion '4.4.2' -Force -SkipPublisherCheck -AllowClobber -Verbose - Install-Module -Name 'posh-git' -Scope CurrentUser -RequiredVersion '1.0.0-beta2' -Force -SkipPublisherCheck -AllowClobber -AllowPrerelease -Verbose - - Import-Module -Name 'Pester', 'posh-git' -Verbose - } - catch { - $_.Exception.Message | Write-Error - throw 'Could not install the required dependencies!' - } - } -} - -function Invoke-UnitTests { - [CmdletBinding()] - Param() - - process { - - try { - Write-Host '===== Preload internal private functions =====' -ForegroundColor Black -BackgroundColor Yellow - - $Privates = Get-ChildItem -Path (Join-Path -Path $Env:TRAVIS_BUILD_DIR -ChildPath '/src/Private/*') -Include "*.ps1" -Recurse -ErrorAction Stop - foreach ($File in $Privates) { - if (Test-Path -Path $File.FullName) { - . $File.FullName - Write-Verbose -Message ('Private function dot-sourced: {0}' -f $File.FullName) -Verbose - } - else { - Write-Warning -Message ('Could not find file: {0} !' -f $File.FullName) - } - } - } - catch { - $_.Exception.Message | Write-Error - throw 'Could not load required private functions!' - } - - Write-Host '===== Running Pester =====' -ForegroundColor Black -BackgroundColor Yellow - $TestFiles = Get-ChildItem -Path (Join-Path -Path '.' -ChildPath './tests/*.Tests.ps1') -Recurse| Sort-Object -Property Name - $TestResults = Invoke-Pester -Script $TestFiles -ExcludeTag 'Disabled' -PassThru - - if ($TestResults.FailedCount -gt 0) { - throw ('{0} tests failed!' -f $TestResults.FailedCount) - } - } -} diff --git a/tools/travis.sh b/tools/travis.sh deleted file mode 100644 index 029896a..0000000 --- a/tools/travis.sh +++ /dev/null @@ -1,14 +0,0 @@ -set -x -ulimit -n 4096 - -echo "TRAVIS_EVENT_TYPE value $TRAVIS_EVENT_TYPE" - -if [ $TRAVIS_EVENT_TYPE = cron ] || [ $TRAVIS_EVENT_TYPE = api ]; then - sudo pwsh -NoProfile -NonInteractive -c "Import-Module ./tools/Travis.psm1; - Invoke-InstallDependencies; - Invoke-UnitTests;" -else - sudo pwsh -NoProfile -NonInteractive -c "Import-Module ./tools/Travis.psm1; - Invoke-InstallDependencies; - Invoke-UnitTests;" -fi