From 0fe6a42a0406f32178429fa8b50de206b6db37d2 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Sat, 13 Dec 2025 19:19:54 -0800 Subject: [PATCH] Temporarily remove non-CI GitHub workflow files --- .github/workflows/configure.yml | 85 ---------------------- .github/workflows/docs-link.yml | 41 ----------- .github/workflows/format.yml | 54 -------------- .github/workflows/labeler.yml | 25 ------- .github/workflows/nightlies.yml | 59 ---------------- .github/workflows/pip.yml | 118 ------------------------------- .github/workflows/tests-cibw.yml | 95 ------------------------- .github/workflows/upstream.yml | 116 ------------------------------ 8 files changed, 593 deletions(-) delete mode 100644 .github/workflows/configure.yml delete mode 100644 .github/workflows/docs-link.yml delete mode 100644 .github/workflows/format.yml delete mode 100644 .github/workflows/labeler.yml delete mode 100644 .github/workflows/nightlies.yml delete mode 100644 .github/workflows/pip.yml delete mode 100644 .github/workflows/tests-cibw.yml delete mode 100644 .github/workflows/upstream.yml diff --git a/.github/workflows/configure.yml b/.github/workflows/configure.yml deleted file mode 100644 index cd034c883..000000000 --- a/.github/workflows/configure.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/docs-link.yml b/.github/workflows/docs-link.yml deleted file mode 100644 index ea25410cb..000000000 --- a/.github/workflows/docs-link.yml +++ /dev/null @@ -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" diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml deleted file mode 100644 index 6bf77324a..000000000 --- a/.github/workflows/format.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index f5b618ba8..000000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/nightlies.yml b/.github/workflows/nightlies.yml deleted file mode 100644 index ad4a35152..000000000 --- a/.github/workflows/nightlies.yml +++ /dev/null @@ -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 }} diff --git a/.github/workflows/pip.yml b/.github/workflows/pip.yml deleted file mode 100644 index 8df91a00f..000000000 --- a/.github/workflows/pip.yml +++ /dev/null @@ -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/ diff --git a/.github/workflows/tests-cibw.yml b/.github/workflows/tests-cibw.yml deleted file mode 100644 index 5dfb5dc94..000000000 --- a/.github/workflows/tests-cibw.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml deleted file mode 100644 index 15ede7a85..000000000 --- a/.github/workflows/upstream.yml +++ /dev/null @@ -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