diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd0e602a..c89b6fe9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: matrix: target: [x86_64-apple-darwin, aarch64-apple-darwin] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Compile library run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --target=${{ matrix.target }} @@ -37,7 +37,7 @@ jobs: cd prefix tar czf ../../pineappl_capi-${{ matrix.target }}.tar.gz . - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: pineappl_capi-${{ matrix.target }} path: pineappl_capi-${{ matrix.target }}.tar.gz @@ -60,6 +60,7 @@ jobs: # print the glibc version requirement objdump -T lib/libpineappl_capi.so | grep GLIBC | sed 's/.*GLIBC_\([.0-9]*\).*/\1/g' | sort -Vu | tail -1 - name: Upload artifact + # upload-artifact@v4 uses a newer version of Node that's incompatible with our container's GLIBC uses: actions/upload-artifact@v3 with: name: pineappl_capi-${{ matrix.target }} @@ -71,8 +72,8 @@ jobs: runs-on: ubuntu-latest if: "startsWith(github.ref, 'refs/tags/')" steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v3 + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 with: path: artifacts - name: Create new release @@ -126,7 +127,7 @@ jobs: matrix: target: [x86_64] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # for Linux the wheels are built in a container, so we don't need the `setup-python` action - name: Build wheels uses: PyO3/maturin-action@v1 @@ -137,7 +138,7 @@ jobs: sccache: 'true' manylinux: auto - name: Upload wheels - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: dist @@ -148,7 +149,7 @@ jobs: matrix: target: [x86_64] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Patch Cargo.toml run: | # - older maturin versions don't support metadata inheritance - overwrite it explicitly @@ -177,7 +178,7 @@ jobs: # this is the latest version to support Python 3.6 maturin-version: 0.12.20 - name: Upload wheels - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: dist @@ -188,19 +189,23 @@ jobs: matrix: target: [x64] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: + # WARNING: be careful with the ordering - the last version is the default one. Apparently + # maturin doesn't find all Python versions when one chooses a PyPy version instead of + # CPython as default python-version: | - 3.7 - 3.8 - 3.9 - 3.10 - 3.11 pypy3.7 pypy3.8 pypy3.9 pypy3.10 + 3.7 + 3.8 + 3.9 + 3.11 + 3.12 + 3.10 architecture: ${{ matrix.target }} - name: Build wheels uses: PyO3/maturin-action@v1 @@ -209,7 +214,7 @@ jobs: args: --release --out dist --find-interpreter --manifest-path pineappl_py/Cargo.toml sccache: 'true' - name: Upload wheels - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: dist @@ -218,21 +223,25 @@ jobs: runs-on: macos-latest strategy: matrix: - target: [aarch64-apple-darwin, x86_64-apple-darwin] + target: [aarch64, x86_64] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: + # WARNING: be careful with the ordering - the last version is the default one. Apparently + # maturin doesn't find all Python versions when one chooses a PyPy version instead of + # CPython as default python-version: | - 3.7 - 3.8 - 3.9 - 3.10 - 3.11 pypy3.7 pypy3.8 pypy3.9 pypy3.10 + 3.7 + 3.8 + 3.9 + 3.11 + 3.12 + 3.10 - name: Build wheels uses: PyO3/maturin-action@v1 with: @@ -240,7 +249,7 @@ jobs: args: --release --out dist --find-interpreter --manifest-path pineappl_py/Cargo.toml sccache: 'true' - name: Upload wheels - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: dist @@ -248,14 +257,14 @@ jobs: sdist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build sdist uses: PyO3/maturin-action@v1 with: command: sdist args: --out dist --manifest-path pineappl_py/Cargo.toml - name: Upload sdist - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: dist @@ -266,7 +275,7 @@ jobs: if: "startsWith(github.ref, 'refs/tags/')" needs: [linux-wheels, windows-wheels, macos-wheels, sdist] steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: wheels - name: Publish to PyPI diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c64fe4b..e21d3c78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,12 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- the Python interface for MacOS is now shipped separately for the two targets + (aarch64 and x86_64) instead of a single universal wheel previously - raised MSRV to 1.70.0 - when calling `BinRemapper::new`, the limits are now checked for overlaps, in which case a new error is returned - changed the type `ParseBinRemapperError` to allow capturing errors from `BinRemapper::new` +### Fixed + +- fixed the missing generation of CPython 3.7 to 3.10 wheels for MacOS targets + ### Removed - removed the type `SubGrid` that was exported in the CAPI as the type