mirror of
https://github.com/pybind/pybind11.git
synced 2026-07-17 09:08:14 +00:00
Temporarily remove non-CI GitHub workflow files
This commit is contained in:
85
.github/workflows/configure.yml
vendored
85
.github/workflows/configure.yml
vendored
@@ -1,85 +0,0 @@
|
||||
name: Config
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
- ready_for_review
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable
|
||||
- v*
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
# This tests various versions of CMake in various combinations, to make sure
|
||||
# the configure step passes.
|
||||
cmake:
|
||||
if: github.event.pull_request.draft == false
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runs-on: ubuntu-22.04
|
||||
cmake: "3.15"
|
||||
|
||||
- runs-on: ubuntu-24.04
|
||||
cmake: "3.26"
|
||||
|
||||
- runs-on: ubuntu-24.04
|
||||
cmake: "3.29"
|
||||
|
||||
- runs-on: macos-15-intel
|
||||
cmake: "3.15"
|
||||
|
||||
- runs-on: macos-14
|
||||
cmake: "4.0"
|
||||
|
||||
- runs-on: windows-latest
|
||||
cmake: "4.0"
|
||||
|
||||
name: 🐍 3.11 • CMake ${{ matrix.cmake }} • ${{ matrix.runs-on }}
|
||||
runs-on: ${{ matrix.runs-on }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Python 3.11
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.11
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
|
||||
- name: Prepare env
|
||||
run: uv pip install --python=python --system -r tests/requirements.txt
|
||||
|
||||
# An action for adding a specific version of CMake:
|
||||
# https://github.com/jwlawson/actions-setup-cmake
|
||||
- name: Setup CMake ${{ matrix.cmake }}
|
||||
uses: jwlawson/actions-setup-cmake@v2.0
|
||||
with:
|
||||
cmake-version: ${{ matrix.cmake }}
|
||||
|
||||
# These steps use a directory with a space in it intentionally
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: cmake -S. -B"build dir" -DPYBIND11_WERROR=ON -DDOWNLOAD_CATCH=ON
|
||||
|
||||
# Only build and test if this was manually triggered in the GitHub UI
|
||||
- name: Build
|
||||
working-directory: build dir
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
run: cmake --build . --config Release
|
||||
|
||||
- name: Test
|
||||
working-directory: build dir
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
run: cmake --build . --config Release --target check
|
||||
41
.github/workflows/docs-link.yml
vendored
41
.github/workflows/docs-link.yml
vendored
@@ -1,41 +0,0 @@
|
||||
name: Read the Docs PR preview
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
documentation-links:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.repository.fork == false
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Check for docs changes
|
||||
id: docs_changes
|
||||
run: |
|
||||
# Fetch the PR head
|
||||
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-head
|
||||
|
||||
# Show diff between base (current checkout) and PR head
|
||||
if git diff --name-only HEAD pr-head | grep -q '^docs/'; then
|
||||
echo "docs_changed=true" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "docs_changed=false" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- uses: readthedocs/actions/preview@v1
|
||||
if: steps.docs_changes.outputs.docs_changed == 'true'
|
||||
with:
|
||||
project-slug: "pybind11"
|
||||
single-version: "true"
|
||||
54
.github/workflows/format.yml
vendored
54
.github/workflows/format.yml
vendored
@@ -1,54 +0,0 @@
|
||||
# This is a format job. Pre-commit has a first-party GitHub action, so we use
|
||||
# that: https://github.com/pre-commit/action
|
||||
|
||||
name: Format
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable
|
||||
- "v*"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
FORCE_COLOR: 3
|
||||
# For cmake:
|
||||
VERBOSE: 1
|
||||
|
||||
jobs:
|
||||
pre-commit:
|
||||
name: Format
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Add matchers
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/pylint.json"
|
||||
- uses: pre-commit/action@v3.0.1
|
||||
|
||||
clang-tidy:
|
||||
# When making changes here, please also review the "Clang-Tidy" section
|
||||
# in .github/CONTRIBUTING.md and update as needed.
|
||||
name: Clang-Tidy
|
||||
runs-on: ubuntu-latest
|
||||
container: silkeh/clang:20
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Install requirements
|
||||
run: apt-get update && apt-get install -y git python3-dev python3-pytest ninja-build
|
||||
|
||||
- name: Configure
|
||||
run: cmake --preset tidy
|
||||
- name: Build
|
||||
run: cmake --build --preset tidy
|
||||
|
||||
- name: Embedded
|
||||
run: cmake --build --preset tidy -t cpptest
|
||||
25
.github/workflows/labeler.yml
vendored
25
.github/workflows/labeler.yml
vendored
@@ -1,25 +0,0 @@
|
||||
name: Labeler
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [closed]
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
label:
|
||||
name: Labeler
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
steps:
|
||||
|
||||
- uses: actions/labeler@v6
|
||||
if: >
|
||||
github.event.pull_request.merged == true &&
|
||||
!startsWith(github.event.pull_request.title, 'chore(deps):') &&
|
||||
!startsWith(github.event.pull_request.title, 'ci(fix):') &&
|
||||
!startsWith(github.event.pull_request.title, 'docs(changelog):')
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
configuration-path: .github/labeler_merged.yml
|
||||
59
.github/workflows/nightlies.yml
vendored
59
.github/workflows/nightlies.yml
vendored
@@ -1,59 +0,0 @@
|
||||
name: Upload nightly wheels to Anaconda Cloud
|
||||
|
||||
on:
|
||||
# Run daily at 2:34 UTC to upload nightly wheels to Anaconda Cloud
|
||||
schedule:
|
||||
- cron: "34 2 * * *"
|
||||
# Run on demand with workflow dispatch
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
actions: read
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build_wheel:
|
||||
name: Build and upload wheel
|
||||
if: github.repository_owner == 'pybind'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
|
||||
- name: Build SDist and wheels
|
||||
run: |
|
||||
uv tool install nox
|
||||
nox -s build
|
||||
nox -s build_global
|
||||
|
||||
- uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: Packages
|
||||
path: dist/*
|
||||
|
||||
upload_nightly_wheels:
|
||||
name: Upload nightly wheels to Anaconda Cloud
|
||||
if: github.repository_owner == 'pybind'
|
||||
needs: [build_wheel]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/download-artifact@v6
|
||||
with:
|
||||
name: Packages
|
||||
path: dist
|
||||
|
||||
- name: List wheel to be deployed
|
||||
run: ls -lha dist/*.whl
|
||||
|
||||
- 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 }}
|
||||
118
.github/workflows/pip.yml
vendored
118
.github/workflows/pip.yml
vendored
@@ -1,118 +0,0 @@
|
||||
name: Pip
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable
|
||||
- v*
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
# This builds the sdists and wheels and makes sure the files are exactly as
|
||||
# expected.
|
||||
test-packaging:
|
||||
name: 🐍 3.8 • 📦 tests • windows-latest
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup 🐍 3.8
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.8
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
|
||||
- name: Prepare env
|
||||
run: uv pip install --system -r tests/requirements.txt
|
||||
|
||||
- name: Python Packaging tests
|
||||
run: pytest tests/extra_python_package/
|
||||
|
||||
|
||||
# This runs the packaging tests and also builds and saves the packages as
|
||||
# artifacts.
|
||||
packaging:
|
||||
name: 🐍 3.8 • 📦 & 📦 tests • ubuntu-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup 🐍 3.8
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.8
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
|
||||
- name: Prepare env
|
||||
run: uv pip install --system -r tests/requirements.txt twine nox
|
||||
|
||||
- name: Python Packaging tests
|
||||
run: pytest tests/extra_python_package/
|
||||
|
||||
- name: Build SDist and wheels
|
||||
run: |
|
||||
nox -s build
|
||||
nox -s build_global
|
||||
|
||||
- name: Check metadata
|
||||
run: twine check dist/*
|
||||
|
||||
- name: Save standard package
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: standard
|
||||
path: dist/pybind11-*
|
||||
|
||||
- name: Save global package
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: global
|
||||
path: dist/*global-*
|
||||
|
||||
|
||||
|
||||
# When a GitHub release is made, upload the artifacts to PyPI
|
||||
upload:
|
||||
name: Upload to PyPI
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'release' && github.event.action == 'published'
|
||||
needs: [packaging]
|
||||
environment:
|
||||
name: pypi
|
||||
url: https://pypi.org/p/pybind11
|
||||
permissions:
|
||||
id-token: write
|
||||
attestations: write
|
||||
|
||||
steps:
|
||||
# Downloads all to directories matching the artifact names
|
||||
- uses: actions/download-artifact@v6
|
||||
|
||||
- name: Generate artifact attestation for sdist and wheel
|
||||
uses: actions/attest-build-provenance@v3
|
||||
with:
|
||||
subject-path: "*/pybind11*"
|
||||
|
||||
- name: Publish standard package
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
packages-dir: standard/
|
||||
|
||||
- name: Publish global package
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
packages-dir: global/
|
||||
95
.github/workflows/tests-cibw.yml
vendored
95
.github/workflows/tests-cibw.yml
vendored
@@ -1,95 +0,0 @@
|
||||
name: CIBW
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- stable
|
||||
- v*
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-wasm-emscripten:
|
||||
name: Pyodide wheel
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: pypa/cibuildwheel@v3.3
|
||||
env:
|
||||
PYODIDE_BUILD_EXPORTS: whole_archive
|
||||
with:
|
||||
package-dir: tests
|
||||
only: cp312-pyodide_wasm32
|
||||
|
||||
build-ios:
|
||||
name: iOS wheel ${{ matrix.runs-on }}
|
||||
runs-on: ${{ matrix.runs-on }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
runs-on: [macos-14, macos-15-intel]
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
# We have to uninstall first because GH is now using a local tap to build cmake<4, iOS needs cmake>=4
|
||||
- run: brew uninstall cmake && brew install cmake
|
||||
|
||||
- uses: pypa/cibuildwheel@v3.3
|
||||
env:
|
||||
CIBW_PLATFORM: ios
|
||||
CIBW_SKIP: cp314-* # https://github.com/pypa/cibuildwheel/issues/2494
|
||||
with:
|
||||
package-dir: tests
|
||||
|
||||
build-android:
|
||||
name: Android wheel ${{ matrix.runs-on }}
|
||||
runs-on: ${{ matrix.runs-on }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
runs-on: [macos-latest, macos-15-intel, ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
# GitHub Actions can't currently run the Android emulator on macOS.
|
||||
- name: Skip Android tests on macOS
|
||||
if: contains(matrix.runs-on, 'macos')
|
||||
run: echo "CIBW_TEST_COMMAND=" >> "$GITHUB_ENV"
|
||||
|
||||
# Temporarily disable Android tests on ubuntu-latest due to emulator issues.
|
||||
# See https://github.com/pybind/pybind11/pull/5914.
|
||||
- name: "NOTE: Android tests are disabled on ubuntu-latest"
|
||||
if: contains(matrix.runs-on, 'ubuntu')
|
||||
run: |
|
||||
echo "CIBW_TEST_COMMAND=" >> "$GITHUB_ENV"
|
||||
echo '::warning::Android cibuildwheel tests are disabled on ubuntu-latest (CIBW_TEST_COMMAND is empty). See PR 5914.'
|
||||
|
||||
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
|
||||
- name: Enable KVM for Android emulator
|
||||
if: contains(matrix.runs-on, 'ubuntu')
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
|
||||
- run: pipx install patchelf
|
||||
|
||||
- uses: pypa/cibuildwheel@v3.3
|
||||
env:
|
||||
CIBW_PLATFORM: android
|
||||
with:
|
||||
package-dir: tests
|
||||
116
.github/workflows/upstream.yml
vendored
116
.github/workflows/upstream.yml
vendored
@@ -1,116 +0,0 @@
|
||||
name: Upstream
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: upstream-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PIP_BREAK_SYSTEM_PACKAGES: 1
|
||||
# For cmake:
|
||||
VERBOSE: 1
|
||||
|
||||
jobs:
|
||||
standard:
|
||||
name: "🐍 3.13 latest • ubuntu-latest • x64"
|
||||
runs-on: ubuntu-latest
|
||||
# Only runs when the 'python dev' label is selected
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'python dev')"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Python 3.13
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: "3.13"
|
||||
allow-prereleases: true
|
||||
|
||||
- name: Setup Boost
|
||||
run: sudo apt-get install libboost-dev
|
||||
|
||||
- name: Update CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2.0
|
||||
|
||||
- name: Run pip installs
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r tests/requirements.txt
|
||||
|
||||
- name: Show platform info
|
||||
run: |
|
||||
python -m platform
|
||||
cmake --version
|
||||
pip list
|
||||
|
||||
# First build - C++11 mode and inplace
|
||||
- name: Configure C++11
|
||||
run: >
|
||||
cmake -S . -B build11
|
||||
-DPYBIND11_WERROR=ON
|
||||
-DDOWNLOAD_CATCH=ON
|
||||
-DDOWNLOAD_EIGEN=ON
|
||||
-DCMAKE_CXX_STANDARD=11
|
||||
-DCMAKE_BUILD_TYPE=Debug
|
||||
|
||||
- name: Build C++11
|
||||
run: cmake --build build11 -j 2
|
||||
|
||||
- name: Python tests C++11
|
||||
run: cmake --build build11 --target pytest -j 2
|
||||
|
||||
- name: C++11 tests
|
||||
run: cmake --build build11 --target cpptest -j 2
|
||||
|
||||
- name: Interface test C++11
|
||||
run: cmake --build build11 --target test_cmake_build
|
||||
|
||||
# Second build - C++17 mode and in a build directory
|
||||
- name: Configure C++17
|
||||
run: >
|
||||
cmake -S . -B build17
|
||||
-DPYBIND11_WERROR=ON
|
||||
-DDOWNLOAD_CATCH=ON
|
||||
-DDOWNLOAD_EIGEN=ON
|
||||
-DCMAKE_CXX_STANDARD=17
|
||||
|
||||
- name: Build C++17
|
||||
run: cmake --build build17 -j 2
|
||||
|
||||
- name: Python tests C++17
|
||||
run: cmake --build build17 --target pytest
|
||||
|
||||
- name: C++17 tests
|
||||
run: cmake --build build17 --target cpptest
|
||||
|
||||
# Third build - C++17 mode with unstable ABI
|
||||
- name: Configure (unstable ABI)
|
||||
run: >
|
||||
cmake -S . -B build17max
|
||||
-DPYBIND11_WERROR=ON
|
||||
-DDOWNLOAD_CATCH=ON
|
||||
-DDOWNLOAD_EIGEN=ON
|
||||
-DCMAKE_CXX_STANDARD=17
|
||||
-DPYBIND11_INTERNALS_VERSION=10000000
|
||||
|
||||
- name: Build (unstable ABI)
|
||||
run: cmake --build build17max -j 2
|
||||
|
||||
- name: Python tests (unstable ABI)
|
||||
run: cmake --build build17max --target pytest
|
||||
|
||||
- name: Interface test (unstable ABI)
|
||||
run: cmake --build build17max --target test_cmake_build
|
||||
|
||||
# This makes sure the setup_helpers module can build packages using
|
||||
# setuptools
|
||||
- name: Setuptools helpers test
|
||||
run: |
|
||||
pip install setuptools
|
||||
pytest tests/extra_setuptools
|
||||
Reference in New Issue
Block a user