Added extra unit test. #648
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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
name: main | |
jobs: | |
linux: | |
name: 'Linux (Q8/Q16/Q16-HDRI, x64)' | |
container: | |
image: mcr.microsoft.com/dotnet/sdk:8.0 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: build/linux-x64/install.dependencies.sh | |
- name: Install Magick.Native | |
run: 'build/shared/install.Magick.Native.sh "dlemstra" "${{ secrets.GITHUB_TOKEN }}" linux x64' | |
- name: Build | |
run: build/shared/build.Magick.NET.sh | |
- name: Test | |
run: build/shared/test.Magick.NET.sh | |
- name: Build OpenMP | |
run: build/shared/build.Magick.NET.sh OpenMP | |
- name: Test OpenMP | |
run: build/shared/test.Magick.NET.sh OpenMP | |
linux_musl: | |
name: 'Linux musl (Q8/Q16/Q16-HDRI, x64)' | |
container: | |
image: mcr.microsoft.com/dotnet/sdk:8.0-alpine | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: build/linux-musl-x64/install.dependencies.sh | |
- name: Install Magick.Native | |
run: 'build/shared/install.Magick.Native.sh "dlemstra" "${{ secrets.GITHUB_TOKEN }}" linux-musl x64' | |
- name: Build | |
run: build/shared/build.Magick.NET.sh | |
- name: Test | |
run: build/shared/test.Magick.NET.sh | |
- name: Build OpenMP | |
run: build/shared/build.Magick.NET.sh OpenMP | |
- name: Test OpenMP | |
run: build/shared/test.Magick.NET.sh OpenMP | |
linux_arm64: | |
name: 'Linux (Q8/Q16/Q16-HDRI, arm64)' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install Magick.Native | |
run: 'build/shared/install.Magick.Native.sh "dlemstra" "${{ secrets.GITHUB_TOKEN }}" linux arm64' | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@master | |
with: | |
platforms: arm64 | |
- name: Test | |
run: | | |
export path=$(pwd) | |
docker run -v $path:/Magick.NET mcr.microsoft.com/dotnet/sdk:8.0-jammy-arm64v8 /Magick.NET/build/linux-arm64/github-actions.sh | |
macos: | |
name: 'MacOS (Q8/Q16/Q16-HDRI)' | |
runs-on: macos-11 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: build/osx-x64/install.dependencies.sh | |
- name: Install .NET 8.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Install Magick.Native | |
run: 'build/shared/install.Magick.Native.sh "dlemstra" "${{ secrets.GITHUB_TOKEN }}" macos x64' | |
- name: Build | |
run: build/shared/build.Magick.NET.sh | |
- name: Test | |
run: build/shared/test.Magick.NET.sh | |
windows: | |
name: Windows | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
quantumName: [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP] | |
platformName: [x86, x64, arm64, Any CPU] | |
exclude: | |
- quantumName: Q8-OpenMP | |
platformName: x86 | |
- quantumName: Q16-OpenMP | |
platformName: x86 | |
- quantumName: Q16-HDRI-OpenMP | |
platformName: x86 | |
- quantumName: Q8-OpenMP | |
platformName: Any CPU | |
- quantumName: Q16-OpenMP | |
platformName: Any CPU | |
- quantumName: Q16-HDRI-OpenMP | |
platformName: Any CPU | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: ./install.dependencies.cmd | |
working-directory: build/windows | |
- name: Install .NET 8.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Create nuget.config | |
run: './create-nuget-config.cmd "dlemstra" "${{ secrets.GITHUB_TOKEN }}"' | |
working-directory: src/Magick.Native | |
- name: Install Magick.Native | |
run: ./install.cmd | |
working-directory: src/Magick.Native | |
- name: Build Magick.NET (Test) | |
if: ${{ matrix.platformName != 'arm64' }} | |
run: './build.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}" Test' | |
working-directory: build/windows | |
- name: Test Magick.NET | |
if: ${{ matrix.platformName != 'arm64' }} | |
run: './test.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}"' | |
working-directory: build/windows | |
- name: Build Magick.NET (Release) | |
run: './build.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}" Release' | |
working-directory: build/windows | |
- name: Set NuGet version | |
run: ./set.version.ps1 | |
working-directory: publish | |
- name: Create NuGet package | |
run: './publish.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}"' | |
working-directory: publish | |
- name: Upload library | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: publish/output | |
libraries: | |
name: Library | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
libraryName: [Core, SystemDrawing, SystemWindowsMedia] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: ./install.dependencies.cmd | |
working-directory: build/windows | |
- name: Install .NET 8.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Create nuget.config | |
run: './create-nuget-config.cmd "dlemstra" "${{ secrets.GITHUB_TOKEN }}"' | |
working-directory: src/Magick.Native | |
- name: Install Magick.Native | |
run: ./install.cmd | |
working-directory: src/Magick.Native | |
- name: 'Build Magick.NET.${{ matrix.libraryName }} (Release)' | |
run: './build.Magick.NET.cmd "Q8" "Any CPU" Release' | |
working-directory: build/windows | |
- name: Set NuGet version | |
run: ./set.version.ps1 | |
working-directory: publish | |
- name: Create NuGet package | |
run: './publish.library.cmd "Magick.NET.${{ matrix.libraryName }}"' | |
working-directory: publish | |
- name: Upload library | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: publish/output |