Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[r2] cherry-pick to fix workflows #4367

Merged
merged 7 commits into from
Nov 15, 2024
Merged

Conversation

njzjz
Copy link
Member

@njzjz njzjz commented Nov 15, 2024

Summary by CodeRabbit

  • New Features
    • Updated TensorFlow version to 2.18 for improved library compilation in the C library build process.
  • Improvements
    • Enhanced build and deployment processes for Python wheels, including better artifact management and deployment conditions.
    • Streamlined potential energy evaluation in LAMMPS simulations to prevent conflicts in parallel execution.

njzjz and others added 5 commits November 15, 2024 16:17
The previous code works with mpi4py<4 but fails with mpi4py 4.0.0. I
don't know what breaking change was made.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Optimized potential energy calculation in the LAMMPS simulation by
restricting evaluation to the master process, reducing unnecessary
computations.

- **Chores**
- Improved control flow for better performance in parallel execution
contexts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
(cherry picked from commit 1e72236)
Fix the CI error.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated TensorFlow build version from 2.15 to 2.18 in the C library
build workflow.

This change ensures compatibility with the latest TensorFlow features
and improvements during the library's build process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
(cherry picked from commit a66afd3)
)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
2.19 to 2.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>Version 2.20.0</h2>
<ul>
<li>🌟 CPython 3.13 wheels are now built by default - without the
<code>CIBW_PRERELEASE_PYTHONS</code> flag. It's time to build and upload
these wheels to PyPI! This release includes CPython 3.13.0rc1, which is
guaranteed to be ABI compatible with the final release. Free-threading
is still behind a flag/config option. (<a
href="https://github.com/pypa/cibuildwheel/issues/1950">#1950</a>)</li>
<li>✨ Provide a <code>CIBW_ALLOW_EMPTY</code> environment variable as an
alternative to the command line flag. (<a
href="https://github.com/pypa/cibuildwheel/issues/1937">#1937</a>)</li>
<li>🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in
0.2.25. Note that PyPy 3.8 is EoL. (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🛠 Set the <code>VSCMD_ARG_TGT_ARCH</code> variable based on target
arch. (<a
href="https://github.com/pypa/cibuildwheel/issues/1876">#1876</a>)</li>
<li>🛠 Undo cleaner output on pytest 8-8.2 now that 8.3 is out. (<a
href="https://github.com/pypa/cibuildwheel/issues/1943">#1943</a>)</li>
<li>📚 Update examples to use Python 3.12 on host (cibuildwheel will
require Python 3.11+ on the host machine starting in October 2024) (<a
href="https://github.com/pypa/cibuildwheel/issues/1919">#1919</a>)</li>
</ul>
<h2>Version 2.19.2</h2>
<ul>
<li>🐛 Update manylinux2014 pins to versions that support past-EoL CentOS
7 mirrors. (<a
href="https://github.com/pypa/cibuildwheel/issues/1917">#1917</a>)</li>
<li>🐛 Support <code>--no-isolation</code> with <code>build[uv]</code>
build-frontend. (<a
href="https://github.com/pypa/cibuildwheel/issues/1889">#1889</a>)</li>
<li>🛠 Provide attestations for releases at <a
href="https://github.com/pypa/cibuildwheel/attestations">https://github.com/pypa/cibuildwheel/attestations</a>.
(<a
href="https://github.com/pypa/cibuildwheel/issues/1916">#1916</a>)</li>
<li>🛠 Provide CPython 3.13.0b3. (<a
href="https://github.com/pypa/cibuildwheel/issues/1913">#1913</a>)</li>
<li>🛠 Remove some workarounds now that pip 24.1 is available. (<a
href="https://github.com/pypa/cibuildwheel/issues/1891">#1891</a>,
<a
href="https://github.com/pypa/cibuildwheel/issues/1892">#1892</a>)</li>
<li>📚 Remove nosetest from our docs. (<a
href="https://github.com/pypa/cibuildwheel/issues/1821">#1821</a>)</li>
<li>📚 Document the macOS ARM workaround for 3.8 on GHA. (<a
href="https://github.com/pypa/cibuildwheel/issues/1871">#1871</a>)</li>
<li>📚 GitLab CI + macOS is now a supported platform with an example. (<a
href="https://github.com/pypa/cibuildwheel/issues/1911">#1911</a>)</li>
</ul>
<h2>Version 2.19.1</h2>
<ul>
<li>🐛 Don't require setup-python on GHA for Pyodide (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🐛 Specify full python path for uv (fixes issue in 0.2.10 &amp;
0.2.11) (<a
href="https://github.com/pypa/cibuildwheel/issues/1881">#1881</a>)</li>
<li>🛠 Update for pip 24.1b2 on CPython 3.13. (<a
href="https://github.com/pypa/cibuildwheel/issues/1879">#1879</a>)</li>
<li>🛠 Fix a warning in our schema generation script. (<a
href="https://github.com/pypa/cibuildwheel/issues/1866">#1866</a>)</li>
<li>🛠 Cleaner output on pytest 8-8.2. (<a
href="https://github.com/pypa/cibuildwheel/issues/1865">#1865</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<hr />
<h2>title: Changelog</h2>
<h1>Changelog</h1>
<h3>v2.20.0</h3>
<ul>
<li>🌟 CPython 3.13 wheels are now built by default - without the
<code>CIBW_PRERELEASE_PYTHONS</code> flag. It's time to build and upload
these wheels to PyPI! This release includes CPython 3.13.0rc1, which is
guaranteed to be ABI compatible with the final release. Free-threading
is still behind a flag/config option. (<a
href="https://github.com/pypa/cibuildwheel/issues/1950">#1950</a>)</li>
<li>✨ Provide a <code>CIBW_ALLOW_EMPTY</code> environment variable as an
alternative to the command line flag. (<a
href="https://github.com/pypa/cibuildwheel/issues/1937">#1937</a>)</li>
<li>🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in
0.2.25. Note that PyPy 3.8 is EoL. (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🛠 Set the <code>VSCMD_ARG_TGT_ARCH</code> variable based on target
arch. (<a
href="https://github.com/pypa/cibuildwheel/issues/1876">#1876</a>)</li>
<li>🛠 Undo cleaner output on pytest 8-8.2 now that 8.3 is out. (<a
href="https://github.com/pypa/cibuildwheel/issues/1943">#1943</a>)</li>
<li>📚 Update examples to use Python 3.12 on host (cibuildwheel will
require Python 3.11+ on the host machine starting in October 2024) (<a
href="https://github.com/pypa/cibuildwheel/issues/1919">#1919</a>)</li>
</ul>
<h3>v2.19.2</h3>
<ul>
<li>🐛 Update manylinux2014 pins to versions that support past-EoL CentOS
7 mirrors. (<a
href="https://github.com/pypa/cibuildwheel/issues/1917">#1917</a>)</li>
<li>🐛 Support <code>--no-isolation</code> with <code>build[uv]</code>
build-frontend. (<a
href="https://github.com/pypa/cibuildwheel/issues/1889">#1889</a>)</li>
<li>🛠 Provide attestations for releases at <a
href="https://github.com/pypa/cibuildwheel/attestations">https://github.com/pypa/cibuildwheel/attestations</a>.
(<a
href="https://github.com/pypa/cibuildwheel/issues/1916">#1916</a>)</li>
<li>🛠 Provide CPython 3.13.0b3. (<a
href="https://github.com/pypa/cibuildwheel/issues/1913">#1913</a>)</li>
<li>🛠 Remove some workarounds now that pip 21.1 is available. (<a
href="https://github.com/pypa/cibuildwheel/issues/1891">#1891</a>,
<a
href="https://github.com/pypa/cibuildwheel/issues/1892">#1892</a>)</li>
<li>📚 Remove nosetest from our docs. (<a
href="https://github.com/pypa/cibuildwheel/issues/1821">#1821</a>)</li>
<li>📚 Document the macOS ARM workaround for 3.8 on GHA. (<a
href="https://github.com/pypa/cibuildwheel/issues/1871">#1871</a>)</li>
<li>📚 GitLab CI + macOS is now a supported platform with an example. (<a
href="https://github.com/pypa/cibuildwheel/issues/1911">#1911</a>)</li>
</ul>
<h3>v2.19.1</h3>
<ul>
<li>🐛 Don't require setup-python on GHA for Pyodide (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🐛 Specify full python path for uv (fixes issue in 0.2.10 &amp;
0.2.11) (<a
href="https://github.com/pypa/cibuildwheel/issues/1881">#1881</a>)</li>
<li>🛠 Update for pip 24.1b2 on CPython 3.13. (<a
href="https://github.com/pypa/cibuildwheel/issues/1879">#1879</a>)</li>
<li>🛠 Fix a warning in our schema generation script. (<a
href="https://github.com/pypa/cibuildwheel/issues/1866">#1866</a>)</li>
<li>🛠 Cleaner output on pytest 8-8.2. (<a
href="https://github.com/pypa/cibuildwheel/issues/1865">#1865</a>)</li>
</ul>
<h3>v2.19.0</h3>
<p>See the <a
href="https://iscinumpy.dev/post/cibuildwheel-2-19-0/">release post</a>
for more info on new features!</p>
<ul>
<li>🌟 Add Pyodide platform. Set with <code>--platform pyodide</code> or
<code>CIBW_PLATFORM: pyodide</code> on Linux with a host Python 3.12 to
build WebAssembly wheels. Not accepted on PyPI currently, but usable
directly in a website using Pyodide, for live docs, etc. (<a
href="https://github.com/pypa/cibuildwheel/issues/1456">#1456</a>,
<a
href="https://github.com/pypa/cibuildwheel/issues/1859">#1859</a>)</li>
<li>🌟 Add <code>build[uv]</code> backend, which will take a pre-existing
uv install (or install <code>cibuildwheel[uv]</code>) and use
<code>uv</code> for all environment setup and installs on Python 3.8+.
This is significantly faster in most cases. (<a
href="https://github.com/pypa/cibuildwheel/issues/1856">#1856</a>)</li>
<li>✨ Add free-threaded macOS builds and update CPython to 3.13.0b2. (<a
href="https://github.com/pypa/cibuildwheel/issues/1854">#1854</a>)</li>
<li>🐛 Issue copying a wheel to a non-existent output dir fixed. (<a
href="https://github.com/pypa/cibuildwheel/issues/1851">#1851</a>,
<a
href="https://github.com/pypa/cibuildwheel/issues/1862">#1862</a>)</li>
<li>🐛 Better determinism for the test environment seeding. (<a
href="https://github.com/pypa/cibuildwheel/issues/1835">#1835</a>)</li>
<li>🛠 <code>VIRTUAL_ENV</code> variable now set. (<a
href="https://github.com/pypa/cibuildwheel/issues/1842">#1842</a>)</li>
<li>🛠 Remove a pip&lt;21.3 workaround. (<a
href="https://github.com/pypa/cibuildwheel/issues/1842">#1842</a>)</li>
<li>🛠 Error handling was refactored to use exceptions. (<a
href="https://github.com/pypa/cibuildwheel/issues/1719">#1719</a>)</li>
<li>🛠 Hardcoded paths in tests avoided. (<a
href="https://github.com/pypa/cibuildwheel/issues/1834">#1834</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/bd033a44476646b606efccdd5eed92d5ea1d77ad"><code>bd033a4</code></a>
Bump version: v2.20.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/9d023cf77aa0e0d52ac3aeb8db21f8137eed2469"><code>9d023cf</code></a>
Build CPython 3.13 by default (<a
href="https://github.com/pypa/cibuildwheel/issues/1950">#1950</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/8a69dbd9d4dcfb315e60a3b42f79365b35857210"><code>8a69dbd</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1949">#1949</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/147de6f4f7bba00e694321b7cf3a519441a444fa"><code>147de6f</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/pypa/cibuildwheel/issues/1947">#1947</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/e217e446612356e930d6e8aec01a901cc5bc846f"><code>e217e44</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1946">#1946</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/871ef6b506b01f5ba2770bf835130110d231643c"><code>871ef6b</code></a>
tests: show xfail traceback summaries again (<a
href="https://github.com/pypa/cibuildwheel/issues/1943">#1943</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/fac72f024a3fe6fbbfb15c00911e7587fbca089e"><code>fac72f0</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/pypa/cibuildwheel/issues/1944">#1944</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/d4c332104d5d20ed728e6616cfef4fd6d179ba7b"><code>d4c3321</code></a>
feat: add <code>CIBW_ALLOW_EMPTY</code> environment variable (<a
href="https://github.com/pypa/cibuildwheel/issues/1937">#1937</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/5af5df4e4fb8b50198e0b8c6182903cd6e349c8a"><code>5af5df4</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1935">#1935</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/6c5cf878718641c3cbf21d69c670ff2e53a8263c"><code>6c5cf87</code></a>
docs: fix nox docs command (<a
href="https://github.com/pypa/cibuildwheel/issues/1938">#1938</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.19...v2.20">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=2.19&new-version=2.20)](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the `cibuildwheel` GitHub Action to version `v2.20`,
potentially enhancing the build process for Python projects with new
features and improvements.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 35ef721)
)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
2.20 to 2.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v2.21.0</h2>
<ul>
<li>⚠️ Update CPython 3.12 to 3.12.6, which changes the macOS minimum
deployment target on CPython 3.12 from macOS 10.9 to macOS 10.13 (<a
href="https://github.com/pypa/cibuildwheel/issues/1998">#1998</a>)</li>
<li>🛠 Changes the behaviour when inheriting <code>config-settings</code>
in TOML overrides - rather than extending each key, which is rarely
useful, individual keys will override previously set values. (<a
href="https://github.com/pypa/cibuildwheel/issues/1803">#1803</a>)</li>
<li>🛠 Update CPython 3.13 to 3.13.0rc2 (<a
href="https://github.com/pypa/cibuildwheel/issues/1998">#1998</a>)</li>
<li>✨ Adds support for multiarch OCI images (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
<li>🐛 Fixes some bugs building Linux wheels on macOS. (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
<li>⚠️ Changes the minimum version of Docker/Podman to Docker API
version 1.43, Podman API version 3. The only mainstream runner this
should affect is Travis Graviton2 runners - if so you can <a
href="https://github.com/pypa/cibuildwheel/pull/1961#issuecomment-2304060019">upgrade
your version of Docker</a>. (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<hr />
<h2>title: Changelog</h2>
<h1>Changelog</h1>
<h3>v2.21.0</h3>
<p><em>13 September 2024</em></p>
<ul>
<li>⚠️ Update CPython 3.12 to 3.12.6, which changes the macOS minimum
deployment target on CPython 3.12 from macOS 10.9 to macOS 10.13 (<a
href="https://github.com/pypa/cibuildwheel/issues/1998">#1998</a>)</li>
<li>🛠 Changes the behaviour when inheriting <code>config-settings</code>
in TOML overrides - rather than extending each key, which is rarely
useful, individual keys will override previously set values. (<a
href="https://github.com/pypa/cibuildwheel/issues/1803">#1803</a>)</li>
<li>🛠 Update CPython 3.13 to 3.13.0rc2 (<a
href="https://github.com/pypa/cibuildwheel/issues/1998">#1998</a>)</li>
<li>✨ Adds support for multiarch OCI images (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
<li>🐛 Fixes some bugs building Linux wheels on macOS. (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
<li>⚠️ Changes the minimum version of Docker/Podman to Docker API
version 1.43, Podman API version 3. The only mainstream runner this
should affect is Travis Graviton2 runners - if so you can <a
href="https://github.com/pypa/cibuildwheel/pull/1961#issuecomment-2304060019">upgrade
your version of Docker</a>. (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
</ul>
<h3>v2.20.0</h3>
<p><em>4 August 2024</em></p>
<ul>
<li>🌟 CPython 3.13 wheels are now built by default - without the
<code>CIBW_PRERELEASE_PYTHONS</code> flag. It's time to build and upload
these wheels to PyPI! This release includes CPython 3.13.0rc1, which is
guaranteed to be ABI compatible with the final release. Free-threading
is still behind a flag/config option. (<a
href="https://github.com/pypa/cibuildwheel/issues/1950">#1950</a>)</li>
<li>✨ Provide a <code>CIBW_ALLOW_EMPTY</code> environment variable as an
alternative to the command line flag. (<a
href="https://github.com/pypa/cibuildwheel/issues/1937">#1937</a>)</li>
<li>🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in
0.2.25. Note that PyPy 3.8 is EoL. (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🛠 Set the <code>VSCMD_ARG_TGT_ARCH</code> variable based on target
arch. (<a
href="https://github.com/pypa/cibuildwheel/issues/1876">#1876</a>)</li>
<li>🛠 Undo cleaner output on pytest 8-8.2 now that 8.3 is out. (<a
href="https://github.com/pypa/cibuildwheel/issues/1943">#1943</a>)</li>
<li>📚 Update examples to use Python 3.12 on host (cibuildwheel will
require Python 3.11+ on the host machine starting in October 2024) (<a
href="https://github.com/pypa/cibuildwheel/issues/1919">#1919</a>)</li>
</ul>
<h3>v2.19.2</h3>
<p><em>2 July 2024</em></p>
<ul>
<li>🐛 Update manylinux2014 pins to versions that support past-EoL CentOS
7 mirrors. (<a
href="https://github.com/pypa/cibuildwheel/issues/1917">#1917</a>)</li>
<li>🐛 Support <code>--no-isolation</code> with <code>build[uv]</code>
build-frontend. (<a
href="https://github.com/pypa/cibuildwheel/issues/1889">#1889</a>)</li>
<li>🛠 Provide attestations for releases at <a
href="https://github.com/pypa/cibuildwheel/attestations">https://github.com/pypa/cibuildwheel/attestations</a>.
(<a
href="https://github.com/pypa/cibuildwheel/issues/1916">#1916</a>)</li>
<li>🛠 Provide CPython 3.13.0b3. (<a
href="https://github.com/pypa/cibuildwheel/issues/1913">#1913</a>)</li>
<li>🛠 Remove some workarounds now that pip 21.1 is available. (<a
href="https://github.com/pypa/cibuildwheel/issues/1891">#1891</a>,
<a
href="https://github.com/pypa/cibuildwheel/issues/1892">#1892</a>)</li>
<li>📚 Remove nosetest from our docs. (<a
href="https://github.com/pypa/cibuildwheel/issues/1821">#1821</a>)</li>
<li>📚 Document the macOS ARM workaround for 3.8 on GHA. (<a
href="https://github.com/pypa/cibuildwheel/issues/1871">#1871</a>)</li>
<li>📚 GitLab CI + macOS is now a supported platform with an example. (<a
href="https://github.com/pypa/cibuildwheel/issues/1911">#1911</a>)</li>
</ul>
<h3>v2.19.1</h3>
<p><em>13 June 2024</em></p>
<ul>
<li>🐛 Don't require setup-python on GHA for Pyodide (<a
href="https://github.com/pypa/cibuildwheel/issues/1868">#1868</a>)</li>
<li>🐛 Specify full python path for uv (fixes issue in 0.2.10 &amp;
0.2.11) (<a
href="https://github.com/pypa/cibuildwheel/issues/1881">#1881</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/79b0dd328794e1180a7268444d46cdf12e1abd01"><code>79b0dd3</code></a>
Bump version: v2.21.0</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/0787a44d997310003e5fe4ae52d30517c73606c6"><code>0787a44</code></a>
fix: enforce minimum version of docker/podman (<a
href="https://github.com/pypa/cibuildwheel/issues/1961">#1961</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/fd11286290a46d09f484ded0a3636655279a5f31"><code>fd11286</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1998">#1998</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/22dc864d60d0f7ea8d768ffbe0eded598f49452f"><code>22dc864</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/pypa/cibuildwheel/issues/2000">#2000</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/9d2f46ce4e6fdbf13b6fd623cf9f754fb53fa52e"><code>9d2f46c</code></a>
chore(deps): bump the actions group with 2 updates (<a
href="https://github.com/pypa/cibuildwheel/issues/1999">#1999</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/b1ed7bb3bcf32f107623a93f4ef4409a16e402cc"><code>b1ed7bb</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1993">#1993</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/ca08f5fbcfa265bd9adddc04a4ba399f56d35ec0"><code>ca08f5f</code></a>
Customise merge behaviour depending on option. Fix <a
href="https://github.com/pypa/cibuildwheel/issues/1803">#1803</a>
(<a
href="https://github.com/pypa/cibuildwheel/issues/1984">#1984</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/229029e1127548104eb1cf537bc6f372833a2791"><code>229029e</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/pypa/cibuildwheel/issues/1994">#1994</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/3294577c175a33c6f24ca310c13f6799d5a40b90"><code>3294577</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/pypa/cibuildwheel/issues/1987">#1987</a>)</li>
<li><a
href="https://github.com/pypa/cibuildwheel/commit/8f51efbc3e4bb081e470c389010af8628fcba4f6"><code>8f51efb</code></a>
[Bot] Update dependencies (<a
href="https://github.com/pypa/cibuildwheel/issues/1985">#1985</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v2.20...v2.21">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=2.20&new-version=2.21)](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 0c59ef3)
This download-artifact step fails randomly. Limiting the files to
download should reduce the possibility of failure.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced artifact downloading patterns for improved specificity in the
build process.
	- Expanded artifact access during the PyPI index build.

- **Improvements**
- Maintained job structure and dependencies for consistent build and
deployment processes.
	- Defined permissions for critical jobs to ensure secure operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
(cherry picked from commit 8e77785)
anyangml and others added 2 commits November 15, 2024 16:25
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the URL for downloading the `uv` installer script in the build
workflow configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit ec1cf86)
Bump uv to
[0.2.24](https://github.com/astral-sh/uv/releases/tag/0.2.24), which
adds retry on connection reset network errors.

Let's see if this fixes the network issue.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the build configuration to download the latest version
(0.2.24) of `uv`.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
(cherry picked from commit bd02ccc)
Copy link
Contributor

coderabbitai bot commented Nov 15, 2024

📝 Walkthrough

Walkthrough

The pull request includes modifications to several GitHub Actions workflow files to enhance the build and deployment processes. Key updates involve the conditional setting of runners based on repository ownership, the introduction of a new matrix entry for ARM64 builds, and an upgrade of the cibuildwheel version. Additionally, artifact management has been refined with specific patterns for downloads, and deployment conditions for the PyPI index have been adjusted. A new job, pass, has been added to evaluate the success of previous jobs.

Changes

File Change Summary
.github/workflows/build_wheel.yml - Updated determine-arm64-runner to conditionally set runners.
- Added linux-aarch64 to build_wheels job matrix.
- Modified uv installation command.
- Upgraded cibuildwheel from v2.19 to v2.21.
- Specified artifact download patterns in build_docker and build_pypi_index jobs.
- Configured deploy_pypi_index to run on devel branch for deepmodeling owner.
- Added pass job for evaluating previous job statuses.
.github/workflows/package_c.yml - Updated tensorflow_build_version in build_c job from "2.15" to "2.18".
source/lmp/tests/run_mpi_pair_deepmd.py - Moved potential energy evaluation inside a conditional block to ensure only the root process evaluates and saves it.

Possibly related PRs

  • ci: bump TF to 2.18, PT to 2.5 #4228: The changes in this PR involve updating the TensorFlow version to 2.18, which may relate to the enhancements in the build process in the main PR that also involves dependency management and version updates.
  • ci: bump tensorflow/build image to 2.18 #4252: This PR updates the TensorFlow build image to version 2.18, which aligns with the main PR's focus on refining the build process and managing dependencies effectively.

Suggested reviewers

  • wanghan-iapcm

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
source/lmp/tests/run_mpi_pair_deepmd.py (1)

58-60: Consider adding error handling for file operations.

While the current implementation works, it could benefit from more robust error handling for the file operations.

Consider wrapping the file operations in a try-except block:

if rank == 0:
-    pe = lammps.eval("pe")
-    arr = [pe]
-    np.savetxt(output, np.array(arr))
+    try:
+        pe = lammps.eval("pe")
+        arr = [pe]
+        np.savetxt(output, np.array(arr))
+    except (IOError, OSError) as e:
+        print(f"Error writing to file {output}: {e}")
+        MPI.COMM_WORLD.Abort(1)
.github/workflows/build_wheel.yml (2)

173-173: Consider optimizing artifact download pattern

While downloading all artifacts with cibw-* works, consider using a more specific pattern if not all artifacts are needed for the PyPI index. This could reduce storage usage and processing time.

Example pattern that excludes test artifacts:

-          pattern: cibw-*
+          pattern: "cibw-cp*-*"

Line range hint 205-211: Consider fine-tuning the pass job requirements

The pass job currently checks all jobs in needs, but some jobs (like build_docker and build_pypi_index) might be optional depending on the context. Consider:

  1. Explicitly defining which jobs must succeed
  2. Adding comments to explain the job dependencies

Example configuration:

- name: Decide whether the needed jobs succeeded or failed
  uses: re-actors/alls-green@release/v1
  with:
    jobs: ${{ toJSON(needs) }}
    # Add a comment explaining which jobs are required vs optional
    required: '["build_wheels", "build_sdist"]'
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between aef3532 and 7e1dfd3.

📒 Files selected for processing (3)
  • .github/workflows/build_wheel.yml (4 hunks)
  • .github/workflows/package_c.yml (1 hunks)
  • source/lmp/tests/run_mpi_pair_deepmd.py (1 hunks)
🔇 Additional comments (6)
source/lmp/tests/run_mpi_pair_deepmd.py (1)

58-60: LGTM! Good MPI practice.

Moving the PE evaluation and file writing inside the rank 0 check is the correct approach. This prevents race conditions and improves efficiency by having only the root process handle I/O operations.

.github/workflows/package_c.yml (2)

Line range hint 1-72: Workflow structure looks good!

The workflow is well-structured with:

  • Clear job dependencies
  • Proper artifact handling with v4 actions
  • Appropriate conditional releases
  • Good error checking with the pass job

14-17: Verify TensorFlow version compatibility

The matrix configuration raises two concerns:

  1. The jump from version 2.15 to 2.18 is significant. Could you verify if there are any breaking changes or if intermediate versions should be considered?
  2. The second matrix entry still constrains TensorFlow to <2.15 which seems inconsistent with the upgrade to 2.18.
✅ Verification successful

Version upgrade to TensorFlow 2.18 is valid and compatible

Based on the verification results:

  1. TensorFlow 2.18.0 is the latest stable version available on PyPI, making the upgrade valid.
  2. The version jump from 2.15 to 2.18 follows the natural TensorFlow release progression (2.16 → 2.17 → 2.18).
  3. The second matrix entry with TensorFlow 2.14 and constraint <2.15 is intentionally kept for backward compatibility support, as evidenced by similar patterns in the codebase where multiple TensorFlow versions are supported.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check TensorFlow versions and their compatibility

# Check available TensorFlow versions
curl -s https://pypi.org/pypi/tensorflow/json | jq -r '.releases | keys[]' | sort -V | tail -n 10

# Look for any breaking changes or version discussions in the repository
rg -i "tensorflow.*version|tensorflow.*compatibility" -g "!{*.so,*.pyc,*.log}"

# Check if there are any existing version constraints
rg -i "tensorflow.*[<>=].*2\.(1[5-8]|2[0-9])" -g "!{*.so,*.pyc,*.log}"

Length of output: 15873

.github/workflows/build_wheel.yml (3)

140-140: LGTM! Improved artifact filtering

The specific pattern for CUDA version artifacts improves the precision of artifact downloads and reduces unnecessary downloads.


80-80: Verify cibuildwheel v2.21 compatibility

The version upgrade from v2.19 to v2.21 looks good, but please verify:

  1. No breaking changes in the changelog
  2. Compatibility with the build configuration
#!/bin/bash
# Check cibuildwheel release notes for breaking changes
gh api repos/pypa/cibuildwheel/releases/tags/v2.21 --jq .body

69-69: Consider adding integrity verification for the uv installer

While using a specific version is good, downloading and executing scripts directly from the internet poses security risks. Consider:

  1. Adding SHA256 checksum verification
  2. Using GitHub's official package registry instead

Copy link

codecov bot commented Nov 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 81.51%. Comparing base (aef3532) to head (7e1dfd3).
Report is 7 commits behind head on r2.

Additional details and impacted files
@@            Coverage Diff             @@
##               r2    #4367      +/-   ##
==========================================
+ Coverage   78.04%   81.51%   +3.47%     
==========================================
  Files         342      342              
  Lines       33851    33882      +31     
  Branches     2876     2876              
==========================================
+ Hits        26418    27618    +1200     
+ Misses       6690     5381    -1309     
- Partials      743      883     +140     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@njzjz njzjz merged commit caf330f into deepmodeling:r2 Nov 15, 2024
47 checks passed
@njzjz njzjz deleted the r2-fix-workflows branch November 15, 2024 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants