Skip to content

Merge remote-tracking branch 'upstream/main' into dev #552

Merge remote-tracking branch 'upstream/main' into dev

Merge remote-tracking branch 'upstream/main' into dev #552

Workflow file for this run

name: PyPI
on:
push:
branches: [main, dev]
tags: ['*']
pull_request:
branches: [main, dev]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
MACOSX_DEPLOYMENT_TARGET: '10.12'
defaults:
run:
shell: bash
jobs:
sdist:
name: Build sdist
runs-on: ubuntu-slim
permissions:
attestations: write
id-token: write
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516 # v2
with:
attest-build-provenance-github: ${{ github.event_name != 'pull_request' }}
skip-wheel: true
wheel:
name: Build wheel (${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs: [sdist]
strategy:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- windows-latest
- macos-15-intel
- macos-latest
fail-fast: false
continue-on-error: true
permissions:
attestations: write
id-token: write
steps:
- name: Download sdist
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
name: Packages
path: dist
- name: Unpack sdist
run: |
tar --strip-components=1 -xzvf dist/*.tar.gz
rm -r dist
- name: Build wheel from sdist
uses: pypa/cibuildwheel@63fd63b352a9a8bdcc24791c9dbee952ee9a8abc # v3.3
- name: Generate artifact attestation for wheels
if: ${{ github.event_name != 'pull_request' }}
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
with:
subject-path: "wheelhouse/bids_validator_deno-*.whl"
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: wheel-${{ matrix.os }}
path: ./wheelhouse
test-publish:
name: Publish to test.pypi.org
if: github.event_name == 'push'
runs-on: ubuntu-latest
needs: [wheel]
permissions:
id-token: write
steps:
- name: Download sdist
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
name: Packages
path: dist
- name: Download wheels
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
pattern: wheel-*
path: dist
- run: |
mv dist/*/* dist/
rmdir dist/*/
- name: Upload package to PyPI
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1
with:
repository-url: https://test.pypi.org/legacy/
skip-existing: true
publish:
name: Publish
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
needs: [wheel]
permissions:
id-token: write
steps:
- name: Download sdist
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
name: Packages
path: dist
- name: Download wheels
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
pattern: wheel-*
path: dist
- run: |
mv dist/*/* dist/
rmdir dist/*/
- name: Upload package to PyPI
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1