diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bdae7008..584bb6c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,11 +10,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-22.04, macos-14] - # macOS 14 Sonoma will be deprecated on 2026-07-06 and unsupported on 2026-11-02 - # https://github.com/actions/runner-images/issues/13518 - # but it is the last macOS image that comes with Mono preinstalled - # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md + os: [windows-latest, ubuntu-latest, macos-latest] steps: # Prerequisites @@ -35,6 +31,17 @@ jobs: with: dotnet-version: '8.0.x' + # Setup Mono (the runner images no longer include it) + - name: Install Mono + if: matrix.os != 'windows-latest' + run: | + if [ "$RUNNER_OS" = Linux ]; then + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + echo "$HOMEBREW_PREFIX/bin" >> "$GITHUB_PATH" + fi + brew install mono + mono --version + # Build & package - name: Build run: pwsh make.ps1 diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 3b27e4ad..5f431218 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -18,7 +18,7 @@ jobs: displayName: Linux (Ubuntu) timeoutInMinutes: 180 pool: - vmImage: ubuntu-22.04 + vmImage: ubuntu-latest steps: - template: eng/steps.yml parameters: @@ -30,7 +30,7 @@ jobs: displayName: macOS timeoutInMinutes: 180 pool: - vmImage: macOS-14 + vmImage: macOS-latest steps: - template: eng/steps.yml parameters: diff --git a/eng/steps.yml b/eng/steps.yml index b096510e..41861f8e 100644 --- a/eng/steps.yml +++ b/eng/steps.yml @@ -39,35 +39,20 @@ steps: packageType: 'runtime' version: '8.0.x' - - task: UseDotNet@2 - displayName: Install .NET 6.0 runtime for testing - inputs: - packageType: 'runtime' - version: '6.0.x' - - # Set Mono version on macOS - - ${{ if eq(parameters.os, 'macOS') }}: - - task: Bash@3 - displayName: Set Mono Version - inputs: - targetType: inline - script: | - # use Mono 6.4.0 version - SYMLINK=6.4.0 - MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK - echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH" - echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH" - echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH" + # Setup Mono (the runner images no longer include it) + - ${{ if ne(parameters.os, 'Windows') }}: + - bash: | + if [ "${{ parameters.os }}" = Linux ]; then + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + echo "##vso[task.prependpath]$HOMEBREW_PREFIX/bin" + fi + brew install mono + mono --version + displayName: Install Mono # Dump version info - - task: PowerShell@2 + - script: dotnet --info displayName: Version Information - inputs: - targetType: inline - script: | - dotnet --info - try { msbuild -version } catch { echo "msbuild not found" } - try { mono --version } catch { echo "mono not found" } - powershell: ./make.ps1 displayName: Build