Skip to content

Add 2024 PRIMAT bbn table #282

Add 2024 PRIMAT bbn table

Add 2024 PRIMAT bbn table #282

Workflow file for this run

name: Wheels
on: [push, pull_request]
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
if: ${{ startsWith(github.ref, 'refs/tags/') || contains(github.event.head_commit.message, '[pypi]') }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# see https://github.com/actions/runner-images/tree/main
os:
[
macos-13,
macos-13-xlarge,
macos-14,
ubuntu-latest,
ubuntu-24.04-arm,
windows-latest,
]
steps:
- run: ln -s $(which gfortran-12) /usr/local/bin/gfortran
if: startsWith(matrix.os, 'ubuntu')
- run: ln -s $(which gfortran-14) /usr/local/bin/gfortran
if: startsWith(matrix.os, 'macos')
- run: gfortran --version
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install cibuildwheel
run: python -m pip install cibuildwheel
- name: Build macos-13 wheels
if: matrix.os == 'macos-13' || matrix.os == 'macos-13-xlarge'
env:
MACOSX_DEPLOYMENT_TARGET: 13
CIBW_BUILD: cp311-*
CIBW_SKIP: pp*
CIBW_BUILD_VERBOSITY: 1
run: python -m cibuildwheel --output-dir wheelhouse
- name: Build macos-15 wheels
if: matrix.os == 'macos-15' || matrix.os == 'macos-15-large'
env:
MACOSX_DEPLOYMENT_TARGET: 15
CIBW_BUILD: cp311-*
CIBW_SKIP: pp*
CIBW_BUILD_VERBOSITY: 1
run: python -m cibuildwheel --output-dir wheelhouse
- name: Build wheels
if: matrix.os == 'macos-14' || startsWith(matrix.os, 'ubuntu') || matrix.os == 'windows-latest'
env:
MACOSX_DEPLOYMENT_TARGET: 14
CIBW_BUILD: cp311-*
CIBW_SKIP: pp* *-win32 *-manylinux_i686 *musllinux*
CIBW_BUILD_VERBOSITY: 1
run: python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
path: |
wheelhouse/*.whl
build-sdist-and-upload:
runs-on: ubuntu-latest
needs: ["build_wheels"]
environment: wheels
if: github.repository_owner == 'cmbant'
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
cache: pip
cache-dependency-path: "setup.py"
- name: Install dependencies
run: |
python -m pip install -U pip
python -m pip install -U build twine
- name: Download wheels from build artifacts
uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist-wheels/
- name: Build package
run: |
python -m build --sdist
twine check --strict dist/*
twine check --strict dist-wheels/*
- name: Publish wheels to PyPI Test
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
packages-dir: dist-wheels/
- name: Publish sdist to PyPI Test
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
- name: Publish wheels to PyPI
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist-wheels/
- name: Publish sdist to PyPI
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: pypa/gh-action-pypi-publish@release/v1
test_wheels:
name: Test wheels on ${{ matrix.os }}
if: contains(github.event.head_commit.message, '[testpypi]')
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
macos-12,
macos-13,
macos-14,
ubuntu-20.04,
ubuntu-24.04-arm,
windows-latest,
]
steps:
- uses: actions/setup-python@v5
- name: install
run: python -m pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ camb
- name: test
run: python -m unittest camb.tests.camb_test