Repository: scikit-build/scikit-build-core
Pull request #257 (2023-04-04 08:06:55)

chore(deps): bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.4 to 1.8.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/pypa/gh-action-pypi-publish/releases">pypa/gh-action-pypi-publish's releases</a>.</em></p>
<blockquote>
<h2>v1.8.5</h2>
<h2>What's Improved</h2>
<p><a href="https://github.com/woodruffw"><code>@​woodruffw</code></a> improved the user-facing documentation and logging to make use of the Trusted Publishing flow terminology cohesive with PyPI in <a href="https://redirect.github.com/pypa/gh-action-pypi-publish/pull/143">pypa/gh-action-pypi-publish#143</a>. Trusted Publishing used to be referred to as OpenID Connect (OIDC) — the underlying technology that is being used to make it work. He also made the action display the cause of the Trusted Publishing flow being selected by the action via <a href="https://redirect.github.com/pypa/gh-action-pypi-publish/pull/142">pypa/gh-action-pypi-publish#142</a>.</p>
<p><strong>Full Diff</strong>: <a href="https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.4...v1.8.5">https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.4...v1.8.5</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/0bf742be3ebe032c25dd15117957dc15d0cfc38d"><code>0bf742b</code></a> Merge pull request <a href="https://redirect.github.com/pypa/gh-action-pypi-publish/issues/143">#143</a> from trail-of-forks/tob-rewrite-oidc-refs</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/30c382209e2edb18e26e0cd15ea4ddbb62e4d249"><code>30c3822</code></a> oidc-exchange: another link</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/89ddbeae048cf21191cb26cde13abd949438b484"><code>89ddbea</code></a> README: retitle, add note</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/a0f29a5690c3e59076bbc8d1349b7f872249ac83"><code>a0f29a5</code></a> Apply suggestions from code review</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/0b567d5b015a5db43765f0ae2b3a215ea9d0150b"><code>0b567d5</code></a> oidc-exchange, twine-upload: remove more OIDC refs</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/4372cb558524908cb34fcd57d7bc50d397daa875"><code>4372cb5</code></a> README: replace OIDC with &quot;trusted publishing&quot;</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/69efb8cbfb5ff087b7145d695b90bba0c4a53029"><code>69efb8c</code></a> Merge pull request <a href="https://redirect.github.com/pypa/gh-action-pypi-publish/issues/142">#142</a> from trail-of-forks/tob-indicate-oidc</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/dfde872acc38fce52eaf13748aaaa11845c89228"><code>dfde872</code></a> Apply suggestions from code review</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/3d567f44ce3fb3bbcf9248d05726c6c9f811b67f"><code>3d567f4</code></a> twine-upload: expound</li>
<li><a href="https://github.com/pypa/gh-action-pypi-publish/commit/67b747a9c83c5d2526d31259d1479f46210ffd0e"><code>67b747a</code></a> oidc-exchange: more explanation</li>
<li>See full diff in <a href="https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.4...v1.8.5">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/gh-action-pypi-publish&package-manager=github_actions&previous-version=1.8.4&new-version=1.8.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Patch:
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
index 47157f0..8ca8eb0 100644
--- a/.github/workflows/cd.yml
+++ b/.github/workflows/cd.yml
@@ -24,7 +24,7 @@ jobs:
         with:
           path: dist/*
 
-      - uses: pypa/gh-action-pypi-publish@v1.8.4
+      - uses: pypa/gh-action-pypi-publish@v1.8.5
         if: github.event_name == 'release' && github.event.action == 'published'
         with:
           password: ${{ secrets.pypi_password }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 28ad3d1..79e45fb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -85,6 +85,12 @@ jobs:
           pip install .[test,cov] cmake ninja rich hatch-fancy-pypi-readme
           setuptools-scm
 
+      - name: Add NumPy
+        if: >
+          (matrix.runs-on == 'ubuntu-latest' || matrix.python-version !=
+          'pypy-3.8') && matrix.python-version != '3.12-dev'
+        run: "pip install --only-binary=:all: numpy"
+
       - name: Test package
         run: pytest -ra --showlocals --cov=scikit_build_core
 
@@ -105,7 +111,9 @@ jobs:
         with:
           cmake-version: "${{ matrix.cmake-version }}"
 
+      # Skipped on pypy to keep the tests fast
       - name: Test min package
+        if: matrix.python-version != 'pypy-3.8'
         run: pytest -ra --showlocals
 
   cygwin:
@@ -121,8 +129,7 @@ jobs:
         with:
           platform: x86_64
           packages:
-            cmake ninja git make gcc-g++ gcc-fortran python39 python39-devel
-            python39-pip
+            cmake ninja git make gcc-g++ python39 python39-devel python39-pip
 
       - name: Install
         run: python3.9 -m pip install .[test]
@@ -131,7 +138,7 @@ jobs:
         run: python3.9 -m pytest -ra --showlocals -m "not virtualenv"
 
   msys:
-    name: Tests on 🐍 3 • msys
+    name: Tests on 🐍 3 • msys UCRT
     runs-on: windows-latest
 
     defaults:
@@ -141,13 +148,13 @@ jobs:
     steps:
       - uses: msys2/setup-msys2@v2
         with:
-          msystem: msys
+          msystem: UCRT64
           path-type: minimal
           update: true
           install: >-
             base-devel git
           pacboy: >-
-            python python-pip gcc cmake
+            python:p python-pip:p gcc:p cmake:p
 
       - uses: actions/checkout@v3
         with:
@@ -157,7 +164,7 @@ jobs:
         run: python -m pip install .[test]
 
       - name: Test package
-        run: python -m pytest -ra --showlocals
+        run: python -m pytest -ra --showlocals -m "not broken_on_urct"
 
   mingw64:
     name: Tests on 🐍 3 • mingw64
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index addb1cd..b5aa6c1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -54,7 +54,7 @@ repos:
         exclude: "^tests"
 
   - repo: https://github.com/charliermarsh/ruff-pre-commit
-    rev: v0.0.259
+    rev: v0.0.260
     hooks:
       - id: ruff
         args: ["--fix", "--show-fixes"]
diff --git a/noxfile.py b/noxfile.py
index 7c0f26b..eee0acd 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -46,6 +46,8 @@ def tests(session: nox.Session) -> None:
         extra.append("cmake")
     if shutil.which("ninja") is None:
         extra.append("ninja")
+    if (3, 8) <= sys.version_info < (3, 12):
+        extra.append("numpy")
 
     session.install("-e.[test]", *extra)
     session.run("pytest", *session.posargs, env=env)
diff --git a/pyproject.toml b/pyproject.toml
index 9e14d12..09519ad 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -55,7 +55,6 @@ test = [
     "cattrs >=22.2.0",
     "gitpython",
     "importlib_metadata; python_version<'3.8'",
-    "numpy; python_version>='3.8' and python_version<'3.12'",
     "pathspec >=0.10.1",
     "pybind11",
     "pyproject-metadata >=0.5",
@@ -108,13 +107,14 @@ filterwarnings = [
 log_cli_level = "info"
 testpaths = ["tests"]
 markers = [
+    "broken_on_urct: Broken for now due to lib not found",
     "compile: Compiles code",
     "configure: Configures CMake code",
     "fortran: Fortran code",
     "integration: Full package build",
+    "isolated: Needs an isolated virtualenv",
     "setuptools: Tests setuptools integration",
     "virtualenv: Needs a virtualenv",
-    "isolated: Needs an isolated virtualenv",
 ]
 
 
diff --git a/src/scikit_build_core/builder/sysconfig.py b/src/scikit_build_core/builder/sysconfig.py
index add693f..862564d 100644
--- a/src/scikit_build_core/builder/sysconfig.py
+++ b/src/scikit_build_core/builder/sysconfig.py
@@ -65,6 +65,9 @@ def get_python_library(env: Mapping[str, str], *, abi3: bool = False) -> Path |
             libpath = libdir / ldlibrary
             if Path(os.path.expandvars(libpath)).is_file():
                 return libpath
+            logger.warning("libdir/ldlibrary: {} is not a real file!", libpath)
+        else:
+            logger.warning("libdir: {} is not a directory", libdir)
 
     framework_prefix = sysconfig.get_config_var("PYTHONFRAMEWORKPREFIX")
     if framework_prefix and Path(framework_prefix).is_dir() and ldlibrary:


Test patch:
diff --git a/tests/test_setuptools_pep517.py b/tests/test_setuptools_pep517.py
index b112619..a38d971 100644
--- a/tests/test_setuptools_pep517.py
+++ b/tests/test_setuptools_pep517.py
@@ -75,6 +75,7 @@ def test_pep517_sdist(tmp_path, monkeypatch):
 
 @pytest.mark.compile()
 @pytest.mark.configure()
+@pytest.mark.broken_on_urct()
 @pytest.mark.skipif(
     sys.platform.startswith("cygwin"), reason="Cygwin fails here with ld errors"
 )
diff --git a/tests/test_setuptools_pep518.py b/tests/test_setuptools_pep518.py
index 30740da..74c5966 100644
--- a/tests/test_setuptools_pep518.py
+++ b/tests/test_setuptools_pep518.py
@@ -15,6 +15,7 @@ HELLO_PEP518 = DIR / "packages/simple_setuptools_ext"
 @pytest.mark.compile()
 @pytest.mark.configure()
 @pytest.mark.integration()
+@pytest.mark.broken_on_urct()
 @pytest.mark.skipif(
     sys.platform.startswith("cygwin"), reason="Cygwin fails here with ld errors"
 )
@@ -56,6 +57,7 @@ def test_pep518_wheel(tmp_path, monkeypatch, isolated):
 @pytest.mark.compile()
 @pytest.mark.configure()
 @pytest.mark.integration()
+@pytest.mark.broken_on_urct()
 @pytest.mark.skipif(
     sys.platform.startswith("cygwin"), reason="Cygwin fails here with ld errors"
 )