From 5d146775c4fe17bb6f1490edefc96d6d0fcd1afa Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev Date: Sat, 3 Jan 2026 19:19:42 +0000 Subject: [PATCH 1/2] ci(workflows): update macOS runner versions - Update main CI workflow to use macos-15-intel instead of macOS-13 for x86_64 builds - Update release workflow to use macos-15-intel instead of macOS-13 - Normalize macos-14 casing for ARM64 testing - Update exclude list entries to match new runner name --- .github/workflows/main.yml | 12 ++++++------ .github/workflows/release.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ad9b767e8b..cc5af628f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: fail-fast: false matrix: # Latest stable version, update at will - os: [ macOS-13, ubuntu-22.04, windows-2022 ] + os: [ macos-15-intel, ubuntu-22.04, windows-2022 ] dc: # Always test latest as that is what we use to compile on release - dmd-latest @@ -72,14 +72,14 @@ jobs: - { dc: ldc-latest, do_test: true } - { dc: dmd-master, do_test: true } - { dc: ldc-master, do_test: true } - # Test on ARM64 - - { os: macOS-14, dc: ldc-latest, do_test: true } + # Test on ARM64 (LDC only, DMD doesn't support ARM64) + - { os: macos-14, dc: ldc-latest, do_test: true } exclude: # Error with those versions: # ld: multiple errors: symbol count from symbol table and dynamic symbol table differ in [.../dub.o]; address=0x0 points to section(2) with no content in '[...]/osx/lib/libphobos2.a[3177](config_a68_4c3.o)' - - { os: macOS-13, dc: dmd-2.100.2 } - - { os: macOS-13, dc: dmd-2.103.1 } - - { os: macOS-13, dc: dmd-2.106.1 } + - { os: macos-15-intel, dc: dmd-2.100.2 } + - { os: macos-15-intel, dc: dmd-2.103.1 } + - { os: macos-15-intel, dc: dmd-2.106.1 } runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 63353c8ca2..fc886c0e8f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ macOS-13, ubuntu-22.04, windows-2019 ] + os: [ macos-15-intel, ubuntu-22.04, windows-2019 ] arch: [ x86_64 ] include: - { os: windows-2019, arch: i686 } From c3f919858bb12ee28bb9a0f0d4e92b748d86766f Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev Date: Mon, 5 Jan 2026 00:43:39 +0000 Subject: [PATCH 2/2] ci(workflows): temporarily disable testing DMD on macOS, and use macos-14 - Change main and release workflows to use macos-14 (ARM64) instead of macos-15-intel - Exclude all DMD compiler versions on macos-14 since DMD doesn't support ARM64 yet - Remove separate ARM64 LDC include entry as it's now covered by the main matrix - Release workflow uses LDC cross-compilation via -mtriple to produce x86_64 binaries --- .github/workflows/main.yml | 17 +++++++++-------- .github/workflows/release.yml | 3 ++- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc5af628f1..b58354943a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,8 @@ jobs: fail-fast: false matrix: # Latest stable version, update at will - os: [ macos-15-intel, ubuntu-22.04, windows-2022 ] + # Note: macos-14 is ARM64. For Intel use macos-14-large (paid) or macos-15-intel + os: [ macos-14, ubuntu-22.04, windows-2022 ] dc: # Always test latest as that is what we use to compile on release - dmd-latest @@ -72,14 +73,14 @@ jobs: - { dc: ldc-latest, do_test: true } - { dc: dmd-master, do_test: true } - { dc: ldc-master, do_test: true } - # Test on ARM64 (LDC only, DMD doesn't support ARM64) - - { os: macos-14, dc: ldc-latest, do_test: true } exclude: - # Error with those versions: - # ld: multiple errors: symbol count from symbol table and dynamic symbol table differ in [.../dub.o]; address=0x0 points to section(2) with no content in '[...]/osx/lib/libphobos2.a[3177](config_a68_4c3.o)' - - { os: macos-15-intel, dc: dmd-2.100.2 } - - { os: macos-15-intel, dc: dmd-2.103.1 } - - { os: macos-15-intel, dc: dmd-2.106.1 } + # TODO: DMD doesn't support ARM64 yet - remove these excludes when ARM support lands + - { os: macos-14, dc: dmd-latest } + - { os: macos-14, dc: dmd-master } + - { os: macos-14, dc: dmd-2.100.2 } + - { os: macos-14, dc: dmd-2.103.1 } + - { os: macos-14, dc: dmd-2.106.1 } + - { os: macos-14, dc: dmd-2.109.1 } runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc886c0e8f..03ff7865d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ macos-15-intel, ubuntu-22.04, windows-2019 ] + # Note: macos-14 is ARM64, but LDC cross-compiles to x86_64 via -mtriple + os: [ macos-14, ubuntu-22.04, windows-2019 ] arch: [ x86_64 ] include: - { os: windows-2019, arch: i686 }