-
Notifications
You must be signed in to change notification settings - Fork 886
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1761 from AArnott/validate/githubActions
Use Azure Pipelines exclusively (i.e. drop Travis, AppVeyor)
- Loading branch information
Showing
30 changed files
with
430 additions
and
299 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,7 @@ | ||
# Travis-CI Build for libgit2sharp | ||
# see travis-ci.org for details | ||
|
||
language: csharp | ||
mono: none | ||
|
||
matrix: | ||
include: | ||
- os: linux | ||
dist: xenial | ||
before_install: | ||
- | | ||
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb | ||
sudo dpkg -i packages-microsoft-prod.deb | ||
sudo apt-get update | ||
sudo apt-get install -y powershell | ||
- os: osx | ||
osx_image: xcode8.3 | ||
before_install: | ||
- brew update # This is necessary to get pwsh 6.2 instead of some 6.0-preview that isn't named `pwsh` | ||
- brew cask install powershell | ||
fast_finish: true | ||
|
||
before_install: | ||
- date -u | ||
- uname -a | ||
- env | sort | ||
|
||
install: | ||
- git fetch --unshallow | ||
- pwsh ./tools/Install-DotNetSdk.ps1 ; export PATH=~/.dotnet:$PATH | ||
|
||
# Build libgit2, LibGit2Sharp and run the tests | ||
script: | ||
- ./buildandtest.sh 'LEAKS_IDENTIFYING' | ||
|
||
# Only watch the development branch | ||
# Disable Travis-CI | ||
branches: | ||
only: | ||
- master | ||
- /^maint.*/ | ||
|
||
# Notify of build changes | ||
notifications: | ||
email: | ||
- [email protected] | ||
- NOTTHISONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<Project> | ||
<PropertyGroup Condition=" '$(IsTestProject)' == 'true' "> | ||
<CoverletOutputFormat>cobertura</CoverletOutputFormat> | ||
<Exclude>[xunit.*]*</Exclude> | ||
<!-- Ensure we preserve each coverlet output file per target framework: https://github.com/tonerdo/coverlet/issues/177 --> | ||
<CoverletOutput>$(OutputPath)/</CoverletOutput> | ||
</PropertyGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,158 +1,4 @@ | ||
version: '{build}' | ||
|
||
os: Visual Studio 2019 | ||
|
||
# Disable AppVeyor | ||
branches: | ||
only: | ||
- master | ||
- /^maint.*/ | ||
|
||
configuration: release | ||
|
||
skip_tags: true | ||
|
||
nuget: | ||
disable_publish_on_pr: true | ||
|
||
environment: | ||
coveralls_token: | ||
secure: ixIsBslo9NheDb5lJknF58EYdgvZ0r3/L0ecRiXjfXmjHBLvoSU6/ZRwaMM+BAlG | ||
coverity_token: | ||
secure: nuzUT+HecXGIi3KaPd/1hgFEZJan/j6+oNbPV75JKjk= | ||
coverity_email: | ||
secure: eGVilNg1Yuq+Xj+SW8r3WCtjnzhoDV0sNJkma4NRq7A= | ||
matrix: | ||
- publish_on_success: False | ||
ExtraDefine: LEAKS_IDENTIFYING | ||
- publish_on_success: True | ||
|
||
matrix: | ||
fast_finish: true | ||
|
||
install: | ||
- ps: | | ||
Write-Host "Commit being built = " -NoNewLine | ||
Write-Host $Env:APPVEYOR_REPO_COMMIT -ForegroundColor "Green" | ||
Write-Host "Target branch = " -NoNewLine | ||
Write-Host $Env:APPVEYOR_REPO_BRANCH -ForegroundColor "Green" | ||
Write-Host "Is a Pull Request = " -NoNewLine | ||
Write-Host $($Env:APPVEYOR_PULL_REQUEST_NUMBER -ne $null) -ForegroundColor "Green" | ||
$CommitDate = [DateTime]::Parse($Env:APPVEYOR_REPO_COMMIT_TIMESTAMP) | ||
$BuildDate = $CommitDate.ToUniversalTime().ToString("yyyyMMddHHmmss") | ||
Write-Host "Merge commit UTC timestamp = " -NoNewLine | ||
Write-Host $BuildDate -ForegroundColor "Green" | ||
$Env:SHOULD_RUN_COVERITY_ANALYSIS = $($Env:APPVEYOR_SCHEDULED_BUILD -eq $True) | ||
Write-Host "Should run Coverity analysis = " -NoNewLine | ||
Write-Host $Env:SHOULD_RUN_COVERITY_ANALYSIS -ForegroundColor "Green" | ||
$Env:SHOULD_RUN_COVERALLS = $($Env:APPVEYOR_SCHEDULED_BUILD -eq $True) | ||
Write-Host "Should run Coveralls = " -NoNewLine | ||
Write-Host $Env:SHOULD_RUN_COVERALLS -ForegroundColor "Green" | ||
Write-Host "Identifying leaks = " -NoNewLine | ||
Write-Host ($Env:ExtraDefine -eq "LEAKS_IDENTIFYING") -ForegroundColor "Green" | ||
Write-Host "Should publish on success = " -NoNewLine | ||
Write-Host $Env:publish_on_success -ForegroundColor "Green" | ||
If ($Env:SHOULD_RUN_COVERALLS -eq $True) | ||
{ | ||
nuget install OpenCover -Version 4.6.166 -ExcludeVersion -OutputDirectory .\packages | ||
nuget install coveralls.net -Version 0.6.0 -ExcludeVersion -OutputDirectory .\packages | ||
} | ||
If ($Env:SHOULD_RUN_COVERITY_ANALYSIS -eq $True) | ||
{ | ||
cinst curl -y | ||
} | ||
./tools/Install-DotNetSdk.ps1 | ||
before_build: | ||
- ps: | | ||
msbuild "$Env:APPVEYOR_BUILD_FOLDER\LibGit2Sharp.sln" ` | ||
/nologo /verbosity:quiet ` | ||
/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" ` | ||
/t:restore | ||
build_script: | ||
- ps: | | ||
& cov-build.exe --dir cov-int msbuild "$Env:APPVEYOR_BUILD_FOLDER\LibGit2Sharp.sln" ` | ||
/nologo /verbosity:minimal /fl /flp:verbosity=normal ` | ||
/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" ` | ||
/t:build,pack | ||
test_script: | ||
- ps: | | ||
Foreach ($runner in 'xunit.console.exe','xunit.console.x86.exe') | ||
{ | ||
If ($Env:SHOULD_RUN_COVERALLS -eq $True -and $Env:publish_on_success -eq $True) | ||
{ | ||
.\packages\OpenCover\tools\OpenCover.Console.exe ` | ||
-register:user ` | ||
"-target:""$Env:userprofile\.nuget\packages\xunit.runner.console\2.4.1\tools\net46\$runner""" ` | ||
"-targetargs:""$Env:APPVEYOR_BUILD_FOLDER\bin\LibGit2Sharp.Tests\Release\net46\LibGit2Sharp.Tests.dll"" -noshadow" ` | ||
"-filter:+[LibGit2Sharp]* -[LibGit2Sharp.Tests]*" ` | ||
-hideskipped:All ` | ||
-output:opencoverCoverage.xml | ||
} | ||
ElseIf ($Env:SHOULD_RUN_COVERITY_ANALYSIS -eq $False) | ||
{ | ||
& "$Env:userprofile\.nuget\packages\xunit.runner.console\2.4.1\tools\net46\$runner" ` | ||
"$Env:APPVEYOR_BUILD_FOLDER\bin\LibGit2Sharp.Tests\Release\net46\LibGit2Sharp.Tests.dll" -noshadow | ||
} | ||
} | ||
- dotnet test LibGit2Sharp.Tests/LibGit2Sharp.Tests.csproj -f netcoreapp2.1 --no-restore --no-build | ||
|
||
after_test: | ||
- ps: | | ||
If ($Env:SHOULD_RUN_COVERALLS -eq $True -and $Env:publish_on_success -eq $True) | ||
{ | ||
Write-Host "Uploading code coverage result..." -ForegroundColor "Green" | ||
.\packages\coveralls.net\tools\csmacnz.Coveralls.exe ` | ||
--opencover -i opencoverCoverage.xml ` | ||
--repoToken $Env:coveralls_token ` | ||
--useRelativePaths ` | ||
--basePath "$Env:APPVEYOR_BUILD_FOLDER\"` | ||
} | ||
If ($Env:SHOULD_RUN_COVERITY_ANALYSIS -eq $True -and $Env:publish_on_success -eq $True) | ||
{ | ||
7z a "$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" "$Env:APPVEYOR_BUILD_FOLDER\cov-int\" | ||
# cf. http://stackoverflow.com/a/25045154/335418 | ||
Remove-item alias:curl | ||
Write-Host "Uploading Coverity analysis result..." -ForegroundColor "Green" | ||
curl --silent --show-error ` | ||
--output curl-out.txt ` | ||
--form token="$Env:coverity_token" ` | ||
--form email="$Env:coverity_email" ` | ||
--form "file=@$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" ` | ||
--form version="$Env:APPVEYOR_REPO_COMMIT" ` | ||
--form description="CI server scheduled build." ` | ||
https://scan.coverity.com/builds?project=libgit2%2Flibgit2sharp | ||
cat .\curl-out.txt | ||
} | ||
on_finish: | ||
- ps: Push-AppveyorArtifact "msbuild.log" | ||
|
||
on_success: | ||
- ps: | | ||
if ($Env:publish_on_success -eq $True) | ||
{ | ||
Get-ChildItem "bin\LibGit2Sharp\$env:configuration\*.nupkg" |% { Push-AppveyorArtifact $_.FullName -FileName $_.Name } | ||
} | ||
notifications: | ||
- provider: Email | ||
to: | ||
- [email protected] | ||
on_build_status_changed: true | ||
only: | ||
- NOTTHISONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# This script returns all the artifacts that should be collected after a build. | ||
# | ||
# Each powershell artifact is expressed as an object with these properties: | ||
# Source - the full path to the source file | ||
# ArtifactName - the name of the artifact to upload to | ||
# ContainerFolder - the relative path within the artifact in which the file should appear | ||
# | ||
# Each artifact aggregating .ps1 script should return a hashtable: | ||
# Key = path to the directory from which relative paths within the artifact should be calculated | ||
# Value = an array of paths (absolute or relative to the BaseDirectory) to files to include in the artifact. | ||
# FileInfo objects are also allowed. | ||
|
||
$RepoRoot = [System.IO.Path]::GetFullPath("$PSScriptRoot\..\..") | ||
|
||
Function EnsureTrailingSlash($path) { | ||
if ($path.length -gt 0 -and !$path.EndsWith('\') -and !$path.EndsWith('/')) { | ||
$path = $path + [IO.Path]::DirectorySeparatorChar | ||
} | ||
|
||
$path.Replace('\', [IO.Path]::DirectorySeparatorChar) | ||
} | ||
|
||
Get-ChildItem "$PSScriptRoot\*.ps1" -Exclude "_*" -Recurse |% { | ||
$ArtifactName = $_.BaseName | ||
|
||
$fileGroups = & $_ | ||
if (!$fileGroups -or $fileGroups.Count -eq 0) { | ||
Write-Warning "No files found for the `"$ArtifactName`" artifact." | ||
} else { | ||
$fileGroups.GetEnumerator() | % { | ||
$BaseDirectory = New-Object Uri ((EnsureTrailingSlash $_.Key), [UriKind]::Absolute) | ||
$_.Value | % { | ||
if ($_.GetType() -eq [IO.FileInfo] -or $_.GetType() -eq [IO.DirectoryInfo]) { | ||
$_ = $_.FullName | ||
} | ||
|
||
$artifact = New-Object -TypeName PSObject | ||
Add-Member -InputObject $artifact -MemberType NoteProperty -Name ArtifactName -Value $ArtifactName | ||
|
||
$SourceFullPath = New-Object Uri ($BaseDirectory, $_) | ||
Add-Member -InputObject $artifact -MemberType NoteProperty -Name Source -Value $SourceFullPath.LocalPath | ||
|
||
$RelativePath = [Uri]::UnescapeDataString($BaseDirectory.MakeRelative($SourceFullPath)) | ||
Add-Member -InputObject $artifact -MemberType NoteProperty -Name ContainerFolder -Value (Split-Path $RelativePath) | ||
|
||
Write-Output $artifact | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# This script translates all the artifacts described by _all.ps1 | ||
# into commands that instruct Azure Pipelines to actually collect those artifacts. | ||
|
||
param ( | ||
[string]$ArtifactNameSuffix | ||
) | ||
|
||
& "$PSScriptRoot/_stage_all.ps1" -ArtifactNameSuffix $ArtifactNameSuffix |% { | ||
Write-Host "##vso[artifact.upload containerfolder=$($_.Name);artifactname=$($_.Name);]$($_.Path)" | ||
} |
Oops, something went wrong.