Skip to content

chore(deps): bump the actions group with 3 updates #436

chore(deps): bump the actions group with 3 updates

chore(deps): bump the actions group with 3 updates #436

Workflow file for this run

name: Wheels
on:
workflow_dispatch:
inputs:
overrideVersion:
description: Manually force a version
release:
types:
- published
pull_request:
paths:
- .github/workflows/wheels.yml
schedule:
- cron: "34 3 * * *"
permissions:
actions: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
SETUPTOOLS_SCM_PRETEND_VERSION: ${{ github.event.inputs.overrideVersion }}
jobs:
build_sdist:
name: Build SDist
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: true
- name: Build SDist
run: pipx run build --sdist
- name: Check metadata
run: pipx run twine check --strict dist/*.tar.gz
- uses: actions/upload-artifact@v4
with:
path: dist/*
name: wheels-sdist
build_wheels:
name: ${{ matrix.build }} ${{ matrix.arch }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: macos-13
arch: auto64
build: "*"
- os: macos-latest
arch: auto64
build: "*"
- os: windows-latest
arch: auto64
build: "cp*"
- os: windows-latest
arch: auto64
build: "{p,g}p*"
- os: windows-latest
arch: auto32
build: "*"
- os: windows-11-arm
arch: auto
build: "*"
- os: ubuntu-latest
arch: auto64
build: "*manylinux*"
- os: ubuntu-latest
arch: auto64
build: "*musllinux*"
- os: ubuntu-24.04-arm
arch: auto64
build: "*manylinux*"
- os: ubuntu-24.04-arm
arch: auto64
build: "*musllinux*"
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: true
- uses: astral-sh/setup-uv@v6
- uses: pypa/[email protected]
env:
CIBW_BUILD: ${{ matrix.build }}
CIBW_ARCHS: ${{ matrix.arch }}
- name: Verify clean directory
run: git diff --exit-code
shell: bash
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
path: wheelhouse/*.whl
name: wheels-${{ strategy.job-index }}
build_ios_wheels:
name: iOS ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
runs-on: [macos-14, macos-13]
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: true
- run: brew uninstall cmake; brew install cmake
- uses: pypa/[email protected]
env:
CIBW_PLATFORM: ios
- name: Verify clean directory
run: git diff --exit-code
shell: bash
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
path: wheelhouse/*.whl
name: wheels-ios-${{ matrix.runs-on }}
# build_android_wheels:
# name: Android ${{ matrix.runs-on }}
# runs-on: ${{ matrix.runs-on }}
# strategy:
# fail-fast: false
# matrix:
# runs-on: [ubuntu-latest, macos-latest]
# steps:
# - uses: actions/checkout@v5
# with:
# fetch-depth: 0
# submodules: true
#
# - uses: mhsmith/cibuildwheel@android
# env:
# CIBW_PLATFORM: android
#
# - name: Verify clean directory
# run: git diff --exit-code
# shell: bash
#
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# path: wheelhouse/*.whl
# name: wheels-android-${{ matrix.runs-on }}
upload_all:
name: Upload if release
needs: [build_wheels, build_ios_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
environment:
name: pypi
url: https://pypi.org/p/boost-histogram
permissions:
id-token: write
attestations: write
contents: read
steps:
- uses: actions/download-artifact@v5
with:
pattern: wheels-*
merge-multiple: true
path: dist
- name: List all files
run: ls -lh dist
- name: Generate artifact attestation for sdist and wheels
uses: actions/attest-build-provenance@v3
with:
subject-path: "dist/boost_histogram-*"
- uses: pypa/gh-action-pypi-publish@release/v1
upload_nightly_wheels:
name: Upload nightly wheels to Anaconda Cloud
if: |
(github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') &&
!github.event.repository.fork &&
github.ref == 'refs/heads/develop'
needs: [build_wheels]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v5
with:
pattern: wheels-*
merge-multiple: true
path: dist
- name: List all files
run: ls -lh dist
- name: Upload wheel to Anaconda Cloud as nightly
uses: scientific-python/upload-nightly-action@b36e8c0c10dbcfd2e05bf95f17ef8c14fd708dbf # 0.6.2
with:
artifacts_path: dist
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}