diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 081d7fb..5a51b3a 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -30,7 +30,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14, ubuntu-24.04-arm] + os: [ubuntu-latest, windows-latest, macos-15-intel, macos-15, ubuntu-24.04-arm] defaults: run: shell: bash @@ -50,6 +50,44 @@ jobs: compiler: gcc version: 13 + - name: Fix compiler symlinks for Intel Mac + if: matrix.os == 'macos-15-intel' + run: | + # setup-fortran creates broken symlinks on Intel Macs + # because it points to /opt/homebrew/bin but compilers are in /usr/local/bin + # Find where gcc-13 is actually installed + if [ -f /usr/local/bin/gcc-13 ]; then + GCC_PATH="/usr/local/bin/gcc-13" + GFORTRAN_PATH="/usr/local/bin/gfortran-13" + GXX_PATH="/usr/local/bin/g++-13" + elif [ -f /opt/homebrew/bin/gcc-13 ]; then + GCC_PATH="/opt/homebrew/bin/gcc-13" + GFORTRAN_PATH="/opt/homebrew/bin/gfortran-13" + GXX_PATH="/opt/homebrew/bin/g++-13" + else + echo "Error: Cannot find gcc-13" + exit 1 + fi + + echo "Found compilers at: $GCC_PATH" + + # Remove any existing symlinks and create new ones + sudo rm -f /usr/local/bin/gcc /usr/local/bin/gfortran /usr/local/bin/g++ + sudo ln -sf "$GCC_PATH" /usr/local/bin/gcc + sudo ln -sf "$GFORTRAN_PATH" /usr/local/bin/gfortran + sudo ln -sf "$GXX_PATH" /usr/local/bin/g++ + + echo "Created symlinks:" + ls -la /usr/local/bin/gcc /usr/local/bin/gfortran /usr/local/bin/g++ + + # Force /usr/local/bin to be first in PATH for all subsequent steps + echo "PATH=/usr/local/bin:$PATH" >> $GITHUB_ENV + + # Also explicitly set the compiler environment variables to full paths + echo "CC=/usr/local/bin/gcc" >> $GITHUB_ENV + echo "CXX=/usr/local/bin/g++" >> $GITHUB_ENV + echo "FC=/usr/local/bin/gfortran" >> $GITHUB_ENV + - name: Compiler versions run: | which gcc @@ -58,13 +96,13 @@ jobs: gfortran --version - name: Build wheels - uses: pypa/cibuildwheel@v3.0.0 + uses: pypa/cibuildwheel@v3.3.0 env: # The brew built gfortran linked libraries have minimum macOS versions # of the macOS version they were built on. We would need to compile # from source rather than use setup-fortran if we want to support # lower macOS versions. - MACOSX_DEPLOYMENT_TARGET: "${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}" + MACOSX_DEPLOYMENT_TARGET: "${{ (matrix.os == 'macos-15' || matrix.os == 'macos-15-intel') && '15.0' || (matrix.os == 'macos-13' && '13.0' || '14.0') }}" - uses: actions/upload-artifact@v4 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e17e02..a0759c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. +## [v0.12.0] 2025-11-26 + +- **MAINTENANCE** Publish Python 3.14 wheels. +- **DOCUMENTATION** Add example plots showing what influence the different options have on atmospheric density. + ## [v0.11.0] 2025-07-30 - **MAINTENANCE** Default `-O2` optimization level for Linux/Mac and diff --git a/CITATION.cff b/CITATION.cff index 270526e..6d6794e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -9,7 +9,7 @@ authors: Atmospheric and Space Physics (LASP) orcid: "https://orcid.org/0000-0003-1331-1863" title: "pymsis" -version: v0.10.0 +version: v0.12.0 doi: 10.5281/zenodo.5348502 -date-released: 2024-04-04 +date-released: 2025-11-26 url: "https://github.com/SWxTREC/pymsis"