Added meta channels. #572
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:6.0 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
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:6.0-alpine | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
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@v3 | |
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:6.0-focal-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@v3 | |
with: | |
fetch-depth: 1 | |
- name: Install dependencies | |
run: build/osx-x64/install.dependencies.sh | |
- name: Install .NET 6.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 6.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@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: ./install.dependencies.cmd | |
working-directory: build/windows | |
- 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: Sign library (Magick.NET) | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.IMAGEMAGICK_CERTIFICATE }}' | |
password: '${{ secrets.IMAGEMAGICK_CERTIFICATE_PASSWORD }}' | |
folder: src/Magick.NET/bin | |
recursive: true | |
- 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: Sign NuGet package | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.IMAGEMAGICK_CERTIFICATE }}' | |
password: '${{ secrets.IMAGEMAGICK_CERTIFICATE_PASSWORD }}' | |
folder: publish/output | |
- 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@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: ./install.dependencies.cmd | |
working-directory: build/windows | |
- 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: 'Sign library (Magick.NET.${{ matrix.libraryName }})' | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.IMAGEMAGICK_CERTIFICATE }}' | |
password: '${{ secrets.IMAGEMAGICK_CERTIFICATE_PASSWORD }}' | |
folder: 'src/Magick.NET.${{ matrix.libraryName }}/bin' | |
recursive: true | |
- 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: Sign NuGet package | |
uses: dlemstra/code-sign-action@v1 | |
with: | |
certificate: '${{ secrets.IMAGEMAGICK_CERTIFICATE }}' | |
password: '${{ secrets.IMAGEMAGICK_CERTIFICATE_PASSWORD }}' | |
folder: publish/output | |
- name: Upload library | |
uses: actions/upload-artifact@v3 | |
with: | |
name: packages | |
path: publish/output |