Bump System.Drawing.Common from 8.0.27 to 10.0.9 #1743
This file contains hidden or 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 | |
| permissions: | |
| contents: read | |
| packages: read | |
| name: Main | |
| jobs: | |
| version: | |
| name: Set version | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| version: ${{steps.version.outputs.version}} | |
| commit: ${{steps.version.outputs.commit}} | |
| publish: ${{steps.version.outputs.publish}} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Set version | |
| id: version | |
| run: | | |
| version=$(git describe --exact-match --tags HEAD 2> /dev/null || true) | |
| publish=false | |
| if [ -z "$version" ]; then | |
| version=$(git log -1 --date=format:"0.%Y.%m%d.%H%M" --format="%ad") | |
| else | |
| publish=true | |
| fi | |
| commit=$(git rev-parse HEAD) | |
| echo "version=$version" >> $GITHUB_OUTPUT | |
| echo "version=$version" | |
| echo "commit=$commit" >> $GITHUB_OUTPUT | |
| echo "commit=$commit" | |
| echo "publish=$publish" >> $GITHUB_OUTPUT | |
| echo "publish=$publish" | |
| linux_x64: | |
| name: Linux (${{ matrix.quantum }}, x64) | |
| container: | |
| image: mcr.microsoft.com/dotnet/sdk:9.0 | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: build/linux-x64/install.dependencies.sh | |
| - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #v5.4.0 | |
| with: | |
| dotnet-version: 8.x | |
| - name: Install Magick.Native | |
| run: build/shared/install.Magick.Native.sh linux x64 ${{ matrix.quantum }} | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build | |
| run: build/shared/build.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| - name: Test | |
| run: build/shared/test.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| linux_musl_x64: | |
| name: Linux musl (${{ matrix.quantum }}, x64) | |
| container: | |
| image: mcr.microsoft.com/dotnet/sdk:9.0-alpine | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: build/linux-musl-x64/install.dependencies.sh | |
| - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #v5.4.0 | |
| with: | |
| dotnet-version: 8.x | |
| - name: Install Magick.Native | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: build/shared/install.Magick.Native.sh linux-musl x64 ${{ matrix.quantum }} | |
| - name: Build | |
| run: build/shared/build.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| - name: Test | |
| run: build/shared/test.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| linux_arm64: | |
| name: Linux (${{ matrix.quantum }}, arm64) | |
| runs-on: ubuntu-24.04-arm | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: build/linux-arm64/install.dependencies.sh | |
| - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #v5.4.0 | |
| with: | |
| dotnet-version: | | |
| 8.x | |
| 9.x | |
| - name: Install Magick.Native | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: build/shared/install.Magick.Native.sh linux arm64 ${{ matrix.quantum }} | |
| - name: Build | |
| run: build/shared/build.Magick.NET.sh arm64 ${{ matrix.quantum }} | |
| - name: Test | |
| run: build/shared/test.Magick.NET.sh arm64 ${{ matrix.quantum }} | |
| macos_x64: | |
| name: MacOS (${{ matrix.quantum }}, x64) | |
| runs-on: macos-15-intel | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q16, Q16-HDRI] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: build/macos-x64/install.dependencies.sh | |
| - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #v5.4.0 | |
| with: | |
| dotnet-version: 8.x | |
| - name: Install Magick.Native | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: build/shared/install.Magick.Native.sh macos x64 ${{ matrix.quantum }} | |
| - name: Build | |
| run: build/shared/build.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| - name: Test | |
| run: build/shared/test.Magick.NET.sh x64 ${{ matrix.quantum }} | |
| macos_arm64: | |
| name: MacOS (${{ matrix.quantum }}, arm64) | |
| runs-on: macos-14 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q16, Q16-HDRI] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: build/macos-arm64/install.dependencies.sh | |
| - uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 #v5.4.0 | |
| with: | |
| dotnet-version: 8.x | |
| - name: Install Magick.Native | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: build/shared/install.Magick.Native.sh macos arm64 ${{ matrix.quantum }} | |
| - name: Build | |
| run: build/shared/build.Magick.NET.sh arm64 ${{ matrix.quantum }} | |
| - name: Test | |
| run: build/shared/test.Magick.NET.sh arm64 ${{ matrix.quantum }} | |
| windows: | |
| name: Windows (${{ matrix.quantum }}, ${{ matrix.platform }}) | |
| runs-on: windows-2025-vs2026 | |
| needs: | |
| - version | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q16, Q16-HDRI] | |
| platform: [x86, x64, Any CPU] | |
| include: | |
| - quantum: Q8-OpenMP | |
| platform: x64 | |
| - quantum: Q16-OpenMP | |
| platform: x64 | |
| - quantum: Q16-HDRI-OpenMP | |
| platform: x64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| run: ./install.dependencies.sh | |
| shell: bash | |
| working-directory: build/windows | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install Magick.Native | |
| run: build/shared/install.Magick.Native.sh windows "${{ matrix.platform }}" ${{ matrix.quantum }} | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build Magick.NET (Test) | |
| run: ./build.Magick.NET.cmd ${{ matrix.quantum }} "${{ matrix.platform }}" Test | |
| working-directory: build/windows | |
| - name: Test Magick.NET | |
| run: ./test.Magick.NET.cmd ${{ matrix.quantum }} "${{ matrix.platform }}" | |
| working-directory: build/windows | |
| - name: Build Magick.NET (Release) | |
| run: ./build.Magick.NET.cmd ${{ matrix.quantum }} "${{ matrix.platform }}" Release | |
| working-directory: build/windows | |
| - name: Install NuGet | |
| run: ./install.nuget.cmd | |
| working-directory: build/windows | |
| - name: Create NuGet package | |
| run: ./publish.cmd ${{ matrix.quantum }} "${{ matrix.platform }}" "${{ needs.version.outputs.version }}" "${{ needs.version.outputs.commit }}" | |
| working-directory: publish | |
| - name: Upload library | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1 | |
| with: | |
| name: Magick.NET-${{ matrix.quantum }}-${{ matrix.platform }} | |
| path: publish/output | |
| windows_arm64: | |
| name: Windows (${{matrix.quantum}}, arm64) | |
| #runs-on: windows-11-arm | |
| runs-on: windows-2025-vs2026 | |
| needs: | |
| - version | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| quantum: [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install Magick.Native | |
| run: build/shared/install.Magick.Native.sh windows arm64 ${{ matrix.quantum }} | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # - name: Build Magick.NET (Test) | |
| # run: ./build.Magick.NET.cmd ${{ matrix.quantum }} "arm64" Test | |
| # working-directory: build/windows | |
| # - name: Test Magick.NET | |
| # run: ./test.Magick.NET.cmd ${{ matrix.quantum }} "arm64" | |
| # working-directory: build/windows | |
| - name: Build Magick.NET (Release) | |
| run: ./build.Magick.NET.cmd ${{ matrix.quantum }} arm64 Release | |
| working-directory: build/windows | |
| - name: Install NuGet | |
| run: ./install.nuget.cmd | |
| working-directory: build/windows | |
| - name: Create NuGet package | |
| run: ./publish.cmd ${{ matrix.quantum }} arm64 "${{ needs.version.outputs.version }}" "${{ needs.version.outputs.commit }}" | |
| working-directory: publish | |
| - name: Upload library | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1 | |
| with: | |
| name: Magick.NET-${{ matrix.quantum }}-arm64 | |
| path: publish/output | |
| libraries: | |
| name: Library | |
| runs-on: windows-2025-vs2026 | |
| needs: | |
| - version | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| libraryName: [Core, AvaloniaMediaImaging, SystemDrawing, SystemWindowsMedia] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install resources | |
| run: ./install.resources.sh x64 Q8 | |
| working-directory: src/Magick.Native | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build Magick.NET.${{ matrix.libraryName }} (Release) | |
| run: ./build.Magick.NET.cmd "Q8" "Any CPU" Release | |
| working-directory: build/windows | |
| - name: Install NuGet | |
| run: ./install.nuget.cmd | |
| working-directory: build/windows | |
| - name: Create NuGet package | |
| run: ./publish.library.cmd "Magick.NET.${{ matrix.libraryName }}" "${{ needs.version.outputs.version }}" "${{ needs.version.outputs.commit }}" | |
| working-directory: publish | |
| - name: Upload library | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1 | |
| with: | |
| name: Magick.NET.${{ matrix.libraryName }} | |
| path: publish/output | |
| publish: | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| name: Publish packages to NuGet (tagged releases only) | |
| runs-on: windows-2025-vs2026 | |
| environment: nuget | |
| needs: | |
| - libraries | |
| - linux_arm64 | |
| - linux_musl_x64 | |
| - linux_x64 | |
| - macos_arm64 | |
| - macos_x64 | |
| - version | |
| - windows | |
| - windows_arm64 | |
| permissions: | |
| id-token: write | |
| contents: read | |
| packages: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Install NuGet | |
| run: ./install.nuget.cmd | |
| working-directory: build/windows | |
| - name: Download artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c #v8.0.1 | |
| with: | |
| path: packages | |
| merge-multiple: true | |
| - name: Sign executables and libraries | |
| uses: ImageMagick/code-signing-action@11c51f7659405bee4dd3529748e1501a0d388911 #v1.0.1 | |
| with: | |
| client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| directory: ${{ github.workspace }}\packages | |
| files: '*.nupkg' | |
| - name: Print public key | |
| run: | | |
| pip3 install asn1crypto | |
| python3 ./build/windows/print.publickey.py | |
| - name: NuGet login | |
| uses: NuGet/login@8d196754b4036150537f80ac539e15c2f1028841 #v1.2.0 | |
| id: login | |
| with: | |
| user: dlemstra | |
| - name: Publish NuGet packages | |
| if: needs.version.outputs.publish == 'true' | |
| env: | |
| NUGET_API_KEY: ${{ steps.login.outputs.NUGET_API_KEY }} | |
| run: ../publish/push.cmd | |
| working-directory: packages |