mirror of https://github.com/SixLabors/ImageSharp
2 changed files with 252 additions and 252 deletions
@ -1,192 +1,192 @@ |
|||||
name: Build |
name: Build |
||||
|
|
||||
on: |
on: |
||||
push: |
push: |
||||
branches: |
branches: |
||||
- master |
- master |
||||
tags: |
tags: |
||||
- "v*" |
- "v*" |
||||
pull_request: |
pull_request: |
||||
branches: |
branches: |
||||
- master |
- master |
||||
jobs: |
jobs: |
||||
Build: |
Build: |
||||
strategy: |
strategy: |
||||
matrix: |
matrix: |
||||
options: |
options: |
||||
- os: ubuntu-latest |
- os: ubuntu-latest |
||||
framework: net6.0 |
framework: net6.0 |
||||
sdk: 6.0.x |
sdk: 6.0.x |
||||
sdk-preview: true |
sdk-preview: true |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: macos-latest |
- os: macos-latest |
||||
framework: net6.0 |
framework: net6.0 |
||||
sdk: 6.0.x |
sdk: 6.0.x |
||||
sdk-preview: true |
sdk-preview: true |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: net6.0 |
framework: net6.0 |
||||
sdk: 6.0.x |
sdk: 6.0.x |
||||
sdk-preview: true |
sdk-preview: true |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: ubuntu-latest |
- os: ubuntu-latest |
||||
framework: net5.0 |
framework: net5.0 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: macos-latest |
- os: macos-latest |
||||
framework: net5.0 |
framework: net5.0 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: net5.0 |
framework: net5.0 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: macos-latest |
- os: macos-latest |
||||
framework: netcoreapp3.1 |
framework: netcoreapp3.1 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: netcoreapp3.1 |
framework: netcoreapp3.1 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: netcoreapp2.1 |
framework: netcoreapp2.1 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: net472 |
framework: net472 |
||||
runtime: -x64 |
runtime: -x64 |
||||
codecov: false |
codecov: false |
||||
- os: windows-latest |
- os: windows-latest |
||||
framework: net472 |
framework: net472 |
||||
runtime: -x86 |
runtime: -x86 |
||||
codecov: false |
codecov: false |
||||
|
|
||||
runs-on: ${{matrix.options.os}} |
runs-on: ${{matrix.options.os}} |
||||
|
|
||||
steps: |
steps: |
||||
- name: Git Config |
- name: Git Config |
||||
shell: bash |
shell: bash |
||||
run: | |
run: | |
||||
git config --global core.autocrlf false |
git config --global core.autocrlf false |
||||
git config --global core.longpaths true |
git config --global core.longpaths true |
||||
|
|
||||
- name: Git Checkout |
- name: Git Checkout |
||||
uses: actions/checkout@v2 |
uses: actions/checkout@v2 |
||||
with: |
with: |
||||
fetch-depth: 0 |
fetch-depth: 0 |
||||
submodules: recursive |
submodules: recursive |
||||
|
|
||||
# See https://github.com/actions/checkout/issues/165#issuecomment-657673315 |
# See https://github.com/actions/checkout/issues/165#issuecomment-657673315 |
||||
- name: Git Create LFS FileList |
- name: Git Create LFS FileList |
||||
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id |
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id |
||||
|
|
||||
- name: Git Setup LFS Cache |
- name: Git Setup LFS Cache |
||||
uses: actions/cache@v2 |
uses: actions/cache@v2 |
||||
id: lfs-cache |
id: lfs-cache |
||||
with: |
with: |
||||
path: .git/lfs |
path: .git/lfs |
||||
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}-v1 |
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}-v1 |
||||
|
|
||||
- name: Git Pull LFS |
- name: Git Pull LFS |
||||
run: git lfs pull |
run: git lfs pull |
||||
|
|
||||
- name: NuGet Install |
- name: NuGet Install |
||||
uses: NuGet/setup-nuget@v1 |
uses: NuGet/setup-nuget@v1 |
||||
|
|
||||
- name: NuGet Setup Cache |
- name: NuGet Setup Cache |
||||
uses: actions/cache@v2 |
uses: actions/cache@v2 |
||||
id: nuget-cache |
id: nuget-cache |
||||
with: |
with: |
||||
path: ~/.nuget |
path: ~/.nuget |
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} |
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} |
||||
restore-keys: ${{ runner.os }}-nuget- |
restore-keys: ${{ runner.os }}-nuget- |
||||
|
|
||||
- name: DotNet Setup Preview |
- name: DotNet Setup Preview |
||||
if: ${{ matrix.options.sdk-preview == true }} |
if: ${{ matrix.options.sdk-preview == true }} |
||||
uses: actions/setup-dotnet@v1 |
uses: actions/setup-dotnet@v1 |
||||
with: |
with: |
||||
dotnet-version: ${{ matrix.options.sdk }} |
dotnet-version: ${{ matrix.options.sdk }} |
||||
include-prerelease: true |
include-prerelease: true |
||||
|
|
||||
- name: DotNet Build |
- name: DotNet Build |
||||
if: ${{ matrix.options.sdk-preview != true }} |
if: ${{ matrix.options.sdk-preview != true }} |
||||
shell: pwsh |
shell: pwsh |
||||
run: ./ci-build.ps1 "${{matrix.options.framework}}" |
run: ./ci-build.ps1 "${{matrix.options.framework}}" |
||||
env: |
env: |
||||
SIXLABORS_TESTING: True |
SIXLABORS_TESTING: True |
||||
|
|
||||
- name: DotNet Build Preview |
- name: DotNet Build Preview |
||||
if: ${{ matrix.options.sdk-preview == true }} |
if: ${{ matrix.options.sdk-preview == true }} |
||||
shell: pwsh |
shell: pwsh |
||||
run: ./ci-build.ps1 "${{matrix.options.framework}}" |
run: ./ci-build.ps1 "${{matrix.options.framework}}" |
||||
env: |
env: |
||||
SIXLABORS_TESTING_PREVIEW: True |
SIXLABORS_TESTING_PREVIEW: True |
||||
|
|
||||
- name: DotNet Test |
- name: DotNet Test |
||||
if: ${{ matrix.options.sdk-preview != true }} |
if: ${{ matrix.options.sdk-preview != true }} |
||||
shell: pwsh |
shell: pwsh |
||||
run: ./ci-test.ps1 "${{matrix.options.os}}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" |
run: ./ci-test.ps1 "${{matrix.options.os}}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" |
||||
env: |
env: |
||||
SIXLABORS_TESTING: True |
SIXLABORS_TESTING: True |
||||
XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit |
XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit |
||||
|
|
||||
- name: DotNet Test Preview |
- name: DotNet Test Preview |
||||
if: ${{ matrix.options.sdk-preview == true }} |
if: ${{ matrix.options.sdk-preview == true }} |
||||
shell: pwsh |
shell: pwsh |
||||
run: ./ci-test.ps1 "${{matrix.options.os}}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" |
run: ./ci-test.ps1 "${{matrix.options.os}}" "${{matrix.options.framework}}" "${{matrix.options.runtime}}" "${{matrix.options.codecov}}" |
||||
env: |
env: |
||||
SIXLABORS_TESTING_PREVIEW: True |
SIXLABORS_TESTING_PREVIEW: True |
||||
XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit |
XUNIT_PATH: .\tests\ImageSharp.Tests # Required for xunit |
||||
|
|
||||
- name: Export Failed Output |
- name: Export Failed Output |
||||
uses: actions/upload-artifact@v2 |
uses: actions/upload-artifact@v2 |
||||
if: failure() |
if: failure() |
||||
with: |
with: |
||||
name: actual_output_${{ runner.os }}_${{ matrix.options.framework }}${{ matrix.options.runtime }}.zip |
name: actual_output_${{ runner.os }}_${{ matrix.options.framework }}${{ matrix.options.runtime }}.zip |
||||
path: tests/Images/ActualOutput/ |
path: tests/Images/ActualOutput/ |
||||
|
|
||||
Publish: |
Publish: |
||||
needs: [Build] |
needs: [Build] |
||||
|
|
||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
|
|
||||
if: (github.event_name == 'push') |
if: (github.event_name == 'push') |
||||
|
|
||||
steps: |
steps: |
||||
- name: Git Config |
- name: Git Config |
||||
shell: bash |
shell: bash |
||||
run: | |
run: | |
||||
git config --global core.autocrlf false |
git config --global core.autocrlf false |
||||
git config --global core.longpaths true |
git config --global core.longpaths true |
||||
|
|
||||
- name: Git Checkout |
- name: Git Checkout |
||||
uses: actions/checkout@v2 |
uses: actions/checkout@v2 |
||||
with: |
with: |
||||
fetch-depth: 0 |
fetch-depth: 0 |
||||
submodules: recursive |
submodules: recursive |
||||
|
|
||||
- name: NuGet Install |
- name: NuGet Install |
||||
uses: NuGet/setup-nuget@v1 |
uses: NuGet/setup-nuget@v1 |
||||
|
|
||||
- name: NuGet Setup Cache |
- name: NuGet Setup Cache |
||||
uses: actions/cache@v2 |
uses: actions/cache@v2 |
||||
id: nuget-cache |
id: nuget-cache |
||||
with: |
with: |
||||
path: ~/.nuget |
path: ~/.nuget |
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} |
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} |
||||
restore-keys: ${{ runner.os }}-nuget- |
restore-keys: ${{ runner.os }}-nuget- |
||||
|
|
||||
- name: DotNet Pack |
- name: DotNet Pack |
||||
shell: pwsh |
shell: pwsh |
||||
run: ./ci-pack.ps1 |
run: ./ci-pack.ps1 |
||||
|
|
||||
- name: MyGet Publish |
- name: MyGet Publish |
||||
shell: pwsh |
shell: pwsh |
||||
run: | |
run: | |
||||
dotnet nuget push .\artifacts\*.nupkg -k ${{secrets.MYGET_TOKEN}} -s https://www.myget.org/F/sixlabors/api/v2/package |
dotnet nuget push .\artifacts\*.nupkg -k ${{secrets.MYGET_TOKEN}} -s https://www.myget.org/F/sixlabors/api/v2/package |
||||
dotnet nuget push .\artifacts\*.snupkg -k ${{secrets.MYGET_TOKEN}} -s https://www.myget.org/F/sixlabors/api/v3/index.json |
dotnet nuget push .\artifacts\*.snupkg -k ${{secrets.MYGET_TOKEN}} -s https://www.myget.org/F/sixlabors/api/v3/index.json |
||||
# TODO: If github.ref starts with 'refs/tags' then it was tag push and we can optionally push out package to nuget.org |
# TODO: If github.ref starts with 'refs/tags' then it was tag push and we can optionally push out package to nuget.org |
||||
|
|||||
Loading…
Reference in new issue