Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
687fb1f
updated github workflows
cylammarco Jun 27, 2024
313a697
try again with the new actions
cylammarco Jun 27, 2024
6e9d916
try the cbuildwheel updated suggested syntax
cylammarco Jun 27, 2024
dd67a5d
disable pypy builds
cylammarco Jun 27, 2024
395eaae
updated upload_pypi, also removed ubuntu and windows build to test up…
cylammarco Jun 27, 2024
21cf4e8
test upload to pypi
cylammarco Jun 28, 2024
1178f9e
updated version number
cylammarco Jun 28, 2024
02dcfab
testing with new pypi api
cylammarco Jun 28, 2024
817c6d4
fixed token
cylammarco Jun 28, 2024
20bb306
add back ubuntu and windows
cylammarco Jun 28, 2024
7a6f55c
try skip-existing in pypi workflow
cylammarco Jun 28, 2024
5d5cade
try spawning job arrays for linus and windows builds
cylammarco Jun 28, 2024
7bd5a21
added qemu docker for linux builds
cylammarco Jun 28, 2024
be50018
distributed build isn't faster, revert...
cylammarco Jun 28, 2024
5a8bd1b
Merge branch 'main' into develop
cylammarco Jun 28, 2024
01a7b9e
works for arrays now
cylammarco Oct 21, 2025
7bd16ca
Merge branch 'develop' of https://github.com/cylammarco/SpectResC int…
cylammarco Oct 21, 2025
6c07072
update test environment
cylammarco Oct 21, 2025
98449b5
updated test environment
cylammarco Oct 21, 2025
d967b36
updated various github actions versions
cylammarco Oct 22, 2025
097577c
dropped ubuntu 2020, added ubuntu 2024
cylammarco Oct 22, 2025
2cadd7e
updated speed test
cylammarco Oct 28, 2025
55d1a33
Merge branch 'develop' of https://github.com/cylammarco/SpectResC int…
cylammarco Oct 28, 2025
436600e
moved legend position
cylammarco Oct 28, 2025
d161fb9
added built wheel test and remove credentials.
cylammarco Oct 28, 2025
42ed6b5
Removed checking
cylammarco Oct 29, 2025
ddf4122
removed environment in yml
cylammarco Oct 29, 2025
6ed90b5
housekeeping
cylammarco Oct 29, 2025
aaba1be
Merge branch 'main' into develop
cylammarco Oct 29, 2025
bf21995
updated builds
cylammarco Oct 29, 2025
b7cb7eb
distributing builds
cylammarco Oct 29, 2025
f9d3db8
dropped macos13, included macos26 with arm64 only
cylammarco Oct 29, 2025
2dc6477
changed build matrix
cylammarco Oct 29, 2025
49fb1d0
no x86_43 for windows
cylammarco Oct 29, 2025
ba9604f
updated builds
cylammarco Oct 29, 2025
d101833
setup python for wheel check. added license to pyproject.toml
cylammarco Oct 29, 2025
ac012aa
added version number to toml
cylammarco Oct 29, 2025
5c9e6fd
more housekeeping
cylammarco Oct 29, 2025
38636c1
housekeeping
cylammarco Oct 29, 2025
3e9dda1
missed quotation marks
cylammarco Oct 29, 2025
03c667a
change pip install directory
cylammarco Oct 29, 2025
b26ea6f
try different name
cylammarco Oct 29, 2025
8038769
more housekeeping
cylammarco Oct 29, 2025
15c4b37
added name to setup
cylammarco Oct 29, 2025
c7710a4
updated submodule name in setup
cylammarco Oct 29, 2025
1c8d91c
updated names
cylammarco Oct 29, 2025
e47bbc7
updated initi name
cylammarco Oct 29, 2025
c01159f
try without shared flag
cylammarco Oct 29, 2025
7935cfc
use include instead of exlude in the build matrix
cylammarco Oct 29, 2025
331e6dd
update ext module name
cylammarco Oct 29, 2025
ddfd4a6
more config fixes
cylammarco Oct 29, 2025
ddef6a8
update more names
cylammarco Oct 29, 2025
2393da9
remove unused path
cylammarco Oct 29, 2025
7d40ea0
update init name
cylammarco Oct 29, 2025
2e43929
changed extension name
cylammarco Oct 29, 2025
060a76f
try merging artifacts differently
cylammarco Oct 29, 2025
68e4670
try new distribution organisation
cylammarco Oct 29, 2025
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
14 changes: 6 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14, ubuntu-20.04, ubuntu-22.04, windows-2019, windows-2022]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
os: [macos-14, macos-15, macos-26, ubuntu-22.04, ubuntu-24.04, windows-2022, windows-2025]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
include:
- os: macos-latest
env: CC="clang" CXX="clang++"
Expand All @@ -23,22 +23,20 @@ jobs:
env: CC="mingw64-gcc" CXX="mingw64-g++"

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools wheel
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade flake8 pytest pytest-cov coverage spectres
python -m pip install --upgrade -r requirements.txt
python setup.py build
python -m pip install -e .
- name: Test with pytest
run: |
coverage run -m pytest --disable-warnings -p no:warnings test
- name: Coveralls
if: startsWith(matrix.os, 'ubuntu') && endsWith(matrix.python-version, '3.10')
if: startsWith(matrix.os, 'ubuntu') && endsWith(matrix.python-version, '3.14')
uses: coverallsapp/github-action@v2
222 changes: 207 additions & 15 deletions .github/workflows/cbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,219 @@ on:

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
name: Build wheel for ${{ matrix.os }}-${{ matrix.cibw_python }}-${{ matrix.cibw_arch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # Continue other builds even if one fails
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
include:
# Linux x86_64
- os: ubuntu-latest
cibw_python: cp39
cibw_arch: x86_64
- os: ubuntu-latest
cibw_python: cp310
cibw_arch: x86_64
- os: ubuntu-latest
cibw_python: cp311
cibw_arch: x86_64
- os: ubuntu-latest
cibw_python: cp312
cibw_arch: x86_64
- os: ubuntu-latest
cibw_python: cp313
cibw_arch: x86_64
- os: ubuntu-latest
cibw_python: cp314
cibw_arch: x86_64

# macOS ARM64 (Apple Silicon)
- os: macos-14
cibw_python: cp39
cibw_arch: arm64
- os: macos-14
cibw_python: cp310
cibw_arch: arm64
- os: macos-14
cibw_python: cp311
cibw_arch: arm64
- os: macos-14
cibw_python: cp312
cibw_arch: arm64
- os: macos-14
cibw_python: cp313
cibw_arch: arm64
- os: macos-14
cibw_python: cp314
cibw_arch: arm64

- os: macos-15
cibw_python: cp39
cibw_arch: arm64
- os: macos-15
cibw_python: cp310
cibw_arch: arm64
- os: macos-15
cibw_python: cp311
cibw_arch: arm64
- os: macos-15
cibw_python: cp312
cibw_arch: arm64
- os: macos-15
cibw_python: cp313
cibw_arch: arm64
- os: macos-15
cibw_python: cp314
cibw_arch: arm64

- os: macos-26
cibw_python: cp39
cibw_arch: arm64
- os: macos-26
cibw_python: cp310
cibw_arch: arm64
- os: macos-26
cibw_python: cp311
cibw_arch: arm64
- os: macos-26
cibw_python: cp312
cibw_arch: arm64
- os: macos-26
cibw_python: cp313
cibw_arch: arm64
- os: macos-26
cibw_python: cp314
cibw_arch: arm64

# macOS Intel x86_64
- os: macos-14
cibw_python: cp39
cibw_arch: x86_64
- os: macos-14
cibw_python: cp310
cibw_arch: x86_64
- os: macos-14
cibw_python: cp311
cibw_arch: x86_64
- os: macos-14
cibw_python: cp312
cibw_arch: x86_64
- os: macos-14
cibw_python: cp313
cibw_arch: x86_64
- os: macos-14
cibw_python: cp314
cibw_arch: x86_64

- os: macos-15
cibw_python: cp39
cibw_arch: x86_64
- os: macos-15
cibw_python: cp310
cibw_arch: x86_64
- os: macos-15
cibw_python: cp311
cibw_arch: x86_64
- os: macos-15
cibw_python: cp312
cibw_arch: x86_64
- os: macos-15
cibw_python: cp313
cibw_arch: x86_64
- os: macos-15
cibw_python: cp314
cibw_arch: x86_64

- os: macos-26
cibw_python: cp39
cibw_arch: x86_64
- os: macos-26
cibw_python: cp310
cibw_arch: x86_64
- os: macos-26
cibw_python: cp311
cibw_arch: x86_64
- os: macos-26
cibw_python: cp312
cibw_arch: x86_64
- os: macos-26
cibw_python: cp313
cibw_arch: x86_64
- os: macos-26
cibw_python: cp314
cibw_arch: x86_64

# Windows AMD64
- os: windows-latest
cibw_python: cp39
cibw_arch: AMD64
- os: windows-latest
cibw_python: cp310
cibw_arch: AMD64
- os: windows-latest
cibw_python: cp311
cibw_arch: AMD64
- os: windows-latest
cibw_python: cp312
cibw_arch: AMD64
- os: windows-latest
cibw_python: cp313
cibw_arch: AMD64
- os: windows-latest
cibw_python: cp314
cibw_arch: AMD64

# Windows x86
- os: windows-latest
cibw_python: cp39
cibw_arch: x86
- os: windows-latest
cibw_python: cp310
cibw_arch: x86
- os: windows-latest
cibw_python: cp311
cibw_arch: x86
- os: windows-latest
cibw_python: cp312
cibw_arch: x86
- os: windows-latest
cibw_python: cp313
cibw_arch: x86
- os: windows-latest
cibw_python: cp314
cibw_arch: x86
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Build wheels
uses: pypa/cibuildwheel@v2.19.1
uses: pypa/cibuildwheel@v3.2.1
env:
# Disable building PyPy wheels on all platforms
CIBW_BUILD: ${{ matrix.cibw_python }}-*
CIBW_ARCHS: ${{ matrix.cibw_arch }}
CIBW_SKIP: pp*
CIBW_BUILD_VERBOSITY: 3

- name: Verify wheel
run: |
python -m pip install --upgrade pip twine
python -m twine check wheelhouse/*.whl
shell: bash

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
name: cibw-wheel-${{ matrix.os }}-${{ matrix.cibw_python }}-${{ matrix.cibw_arch }}
path: ./wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Build sdist
run: pipx run build --sdist
Expand All @@ -48,22 +236,26 @@ jobs:
upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
pattern: cibw-*
path: dist
merge-multiple: true
path: artifacts
merge-multiple: false

- name: Move all wheels and tarballs into dist/
run: |
mkdir -p dist
find artifacts -type f -name "*.whl" -exec mv {} dist/ \;
find artifacts -type f -name "*.tar.gz" -exec mv {} dist/ \;
ls -R dist

- uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.test_pypi_password }}
repository_url: https://test.pypi.org/legacy/
skip-existing: true
repository-url: https://test.pypi.org/legacy/
skip-existing: true
packages-dir: dist
Loading
Loading