mirror of https://github.com/SixLabors/ImageSharp
10 changed files with 238 additions and 22 deletions
@ -0,0 +1,116 @@ |
|||
name: Build |
|||
|
|||
on: |
|||
push: |
|||
branches: |
|||
- master |
|||
tags: |
|||
- 'v*' |
|||
pull_request: |
|||
branches: |
|||
- master |
|||
|
|||
jobs: |
|||
Coverage: |
|||
runs-on: windows-latest |
|||
needs: [Build] |
|||
steps: |
|||
- uses: actions/checkout@v1 |
|||
|
|||
- name: Enable long file paths |
|||
run: git config --global core.longpaths true |
|||
|
|||
- name: Update submodules |
|||
run: git submodule -q update --init |
|||
|
|||
- name: Generate Test Coverage |
|||
shell: pwsh |
|||
run: ./tests/CodeCoverage/CodeCoverage.ps1 |
|||
env: |
|||
CI : True |
|||
|
|||
- name: Update codecov |
|||
uses: iansu/codecov-action-node@v1.0.0 |
|||
with: |
|||
token: ${{secrets.CODECOV_TOKEN}} |
|||
file: "ImageSharp.Coverage.xml" |
|||
flags: unittests |
|||
|
|||
Build: |
|||
strategy: |
|||
matrix: |
|||
options: |
|||
- os : ubuntu-latest |
|||
framework: netcoreapp2.1 |
|||
is32Bit: False |
|||
- os : windows-latest |
|||
framework: netcoreapp2.1 |
|||
is32Bit: False |
|||
- os : windows-latest |
|||
framework: net472 |
|||
is32Bit: False |
|||
- os : windows-latest |
|||
framework: net472 |
|||
is32Bit: True |
|||
|
|||
runs-on: ${{ matrix.options.os }} |
|||
|
|||
steps: |
|||
- uses: actions/checkout@v1 |
|||
|
|||
- name: Enable long file paths |
|||
run: | |
|||
git config --global core.autocrlf false |
|||
git config --global core.longpaths true |
|||
|
|||
- name: Update submodules |
|||
run: git submodule -q update --init |
|||
|
|||
- name: Build |
|||
shell: pwsh |
|||
run: | |
|||
$DebugPreference = "Continue" |
|||
./build.ps1 "${{matrix.options.framework}}" |
|||
|
|||
- name: Test |
|||
shell: pwsh |
|||
run: ./run-tests.ps1 "${{matrix.options.framework}}" "${{matrix.options.is32Bit}}" true |
|||
env: |
|||
CI : True |
|||
|
|||
Publish: |
|||
runs-on: windows-latest |
|||
needs: [Build] |
|||
if : github.event_name == 'push' |
|||
steps: |
|||
- uses: actions/checkout@v1 |
|||
|
|||
- name: Enable long file paths |
|||
run: git config --global core.longpaths true |
|||
|
|||
- name: Update submodules |
|||
run: git submodule -q update --init |
|||
|
|||
- name: Build |
|||
shell: pwsh |
|||
run: | |
|||
$DebugPreference = "Continue" |
|||
./build.ps1 |
|||
|
|||
- name : install nuget |
|||
if: success() |
|||
uses: warrenbuckley/Setup-Nuget@v1 |
|||
|
|||
- name: Configure feed |
|||
if: success() |
|||
run: nuget.exe source Add -Name "GitHub" -Source "https://nuget.pkg.github.com/sixlabors/index.json" -UserName ${{github.actor}} -Password ${{ secrets.GITHUB_TOKEN }} |
|||
|
|||
- name: Publish to nightly feed - github |
|||
if: success() |
|||
run: nuget.exe push -Source "GitHub" .\artifacts\*.nupkg |
|||
|
|||
- name: Publish to nightly feed -myget |
|||
if: success() |
|||
run: nuget.exe push .\artifacts\*.nupkg ${{secrets.MYGET_TOKEN}} -Source https://www.myget.org/F/sixlabors/api/v2/package |
|||
|
|||
# todo if github.ref starts with 'refs/tags' then it was tag push and we can optionally push out package to nuget.org |
|||
@ -0,0 +1,11 @@ |
|||
|
|||
if((Test-Path("$PSScriptRoot\OpenCover.4.6.519")) -eq $false){ |
|||
Invoke-WebRequest https://www.nuget.org/api/v2/package/OpenCover/4.7.922 -OutFile "$PSScriptRoot\opencover.zip" |
|||
[IO.Compression.Zipfile]::ExtractToDirectory("$PSScriptRoot\opencover.zip","$PSScriptRoot\OpenCover.4.6.519") |
|||
} |
|||
|
|||
dotnet clean ImageSharp.sln -c Release |
|||
|
|||
& "$PSScriptRoot\OpenCover.4.6.519\tools\OpenCover.Console.exe" -target:"dotnet.exe" -targetargs:"test tests\ImageSharp.Tests\ImageSharp.Tests.csproj -c Release -f netcoreapp2.1 /p:skipFullFramework=true /p:codecov=true" -register:user -threshold:10 -oldStyle -safemode:off -output:.\ImageSharp.Coverage.xml -hideskipped:All -returntargetcode -filter:"+[SixLabors.ImageSharp*]*" |
|||
|
|||
if ($LASTEXITCODE ){ Exit $LASTEXITCODE } |
|||
Loading…
Reference in new issue