Browse Source

Add ARM hosted runners

Added macos-26 and ubuntu-2204 github runners which run on arm

Use Tolerant ImageComparer

We now use the tolerant Image Comparer for now.

Disable Tests which need libgdiplus

This disables all tests which need libgdiplus for macs with arm.
The hosted runners do not have libgdiplus installed

Install libgdiplus on mac

Enable disabled tests on arm

Try to create symlink

Try without fallback path

Skip on linux

This was removed by mistake

Remove whitespace
pull/3018/head
Stefan Nikolei 6 months ago
parent
commit
7b4615f70c
  1. 27
      .github/workflows/build-and-test.yml
  2. 2
      tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs

27
.github/workflows/build-and-test.yml

@ -77,13 +77,19 @@ jobs:
sdk-preview: true
runtime: -x64
codecov: false
- os: macos-26
framework: net9.0
sdk: 9.0.x
sdk-preview: true
runtime: -x64
codecov: false
- os: windows-latest
framework: net9.0
sdk: 9.0.x
sdk-preview: true
runtime: -x64
codecov: false
- os: buildjet-4vcpu-ubuntu-2204-arm
- os: ubuntu-22.04-arm
framework: net9.0
sdk: 9.0.x
sdk-preview: true
@ -100,12 +106,17 @@ jobs:
sdk: 8.0.x
runtime: -x64
codecov: false
- os: macos-26
framework: net8.0
sdk: 8.0.x
runtime: -x64
codecov: false
- os: windows-latest
framework: net8.0
sdk: 8.0.x
runtime: -x64
codecov: false
- os: buildjet-4vcpu-ubuntu-2204-arm
- os: ubuntu-22.04-arm
framework: net8.0
sdk: 8.0.x
runtime: -x64
@ -124,6 +135,18 @@ jobs:
sudo apt-get update
sudo apt-get -y install libgdiplus libgif-dev libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev
- name: Install libgdi+, which is required for tests running on macos
if: ${{ contains(matrix.options.os, 'macos-26') }}
run: |
brew update
brew install mono-libgdiplus
# Create symlinks to make libgdiplus discoverable
sudo mkdir -p /usr/local/lib
sudo ln -sf $(brew --prefix)/lib/libgdiplus.dylib /usr/local/lib/libgdiplus.dylib
# Verify installation
ls -la $(brew --prefix)/lib/libgdiplus* || echo "libgdiplus not found in brew prefix"
ls -la /usr/local/lib/libgdiplus* || echo "libgdiplus not found in /usr/local/lib"
- name: Git Config
shell: bash
run: |

2
tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs

@ -360,7 +360,7 @@ public class TiffDecoderTests : TiffDecoderBaseTester
{
using Image<TPixel> image = provider.GetImage(TiffDecoder.Instance);
image.DebugSave(provider);
image.CompareToReferenceOutput(ImageComparer.Exact, provider);
image.CompareToReferenceOutput(ImageComparer.Tolerant(), provider);
}
[Theory]

Loading…
Cancel
Save