Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 41 additions & 3 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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:
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Loading