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

Release: 24.12 #771

Merged
merged 1 commit into from
Dec 13, 2024
Merged

Release: 24.12 #771

merged 1 commit into from
Dec 13, 2024

Conversation

cemitch99
Copy link
Member

@cemitch99 cemitch99 commented Dec 12, 2024

Prepare the December release of ImpactX.

Delay updating the AMReX and pyAMReX dependencies for now, pending:
#760
#769

@cemitch99 cemitch99 requested review from EZoni and proy30 December 12, 2024 23:35
@EZoni EZoni enabled auto-merge (squash) December 12, 2024 23:41
@EZoni EZoni merged commit f85d7e3 into ECP-WarpX:development Dec 13, 2024
16 checks passed
@ax3l
Copy link
Member

ax3l commented Dec 14, 2024

Hi, just FYI: CF release fails
conda-forge/impactx-feedstock#41
because dependencies where not updated in this PR for pyAMReX & AMReX. See #733 for a template (or other earlier releases). The files that also needed a bump were:

  • cmake/dependencies/ABLASTR.cmake
  • cmake/dependencies/pyAMReX.cmake

@ax3l
Copy link
Member

ax3l commented Dec 14, 2024

We still need a new_version.py script or so to automate this step, so we can have a simple way to release (copied from WarpX so far in the docs but not yet implemented): https://impactx.readthedocs.io/en/latest/maintenance/release.html

@cemitch99
Copy link
Member Author

Hm. We intentionally had to skip updating the pyAMReX & AMReX dependencies for this release, because of some issues with Windows + GPU memory management on the AMReX side. However, all the ImpactX tests pass in CI using the existing (previous) dependencies.

I didn't realize updating these dependencies was mandatory. (Maybe these feedstock tests should be run before the release is published?) Is there some way to keep the old dependencies on the conda-forge side?

@ax3l
Copy link
Member

ax3l commented Dec 14, 2024

Yes, we mostly keep the versions in sync to avoid subtle binary (ABI) incompatibilities that we have no CI and developer time for.

some issues with Windows + GPU memory management on the AMReX side

Can you link those just for reference? Curious.

Note that we do not yet build packages for GPU on CF releases.

Is there some way to keep the old dependencies on the conda-forge side?

Yes, one can temporarily patch ImpactX or pyAMReX on CF, i.e., this line is intentionally set to COMPATIBILITY SameMinorVersion and currently triggers the CF build release error in ImpactX 24.12 for CF:

...
CMake Error at cmake/dependencies/pyAMReX.cmake:62 (find_package):
  Could not find a configuration file for package "pyAMReX" that is
  compatible with requested version "24.10".

  The following configuration files were considered but not accepted:

    /home/conda/feedstock_root/build_artifacts/impactx_1734118488323/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/cmake/pyAMReX/pyAMReXConfig.cmake, version: 24.12

Call Stack (most recent call first):
  cmake/dependencies/pyAMReX.cmake:81 (find_pyamrex)
  CMakeLists.txt:150 (include)


-- Configuring incomplete, errors occurred!

I recommend just patching the ImpactX line in https://github.com/ECP-WarpX/impactx/blob/24.12/cmake/dependencies/pyAMReX.cmake#L62

@ax3l
Copy link
Member

ax3l commented Dec 14, 2024

(Maybe these feedstock tests should be run before the release is published?)

That's a bit of a chicken-egg problem. We could do pre-releases to run though package managers (Spack, CF, etc.) and we do have general tests that build with the same compilers, but the exact release has to happen at some point.

All in all no big deal, we just need the release scripts I mentioned above to automate for us so we have an easier time and don´t need to remember such details :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants