Skip to content

sentieon-genomics(GENESIS): add 2.0.x, 2.1.x, tests, fix for A64FX #1891

Open
chig wants to merge 8 commits into
spack:developfrom
chig:update-genesis
Open

sentieon-genomics(GENESIS): add 2.0.x, 2.1.x, tests, fix for A64FX #1891
chig wants to merge 8 commits into
spack:developfrom
chig:update-genesis

Conversation

@chig

@chig chig commented Oct 8, 2025

Copy link
Copy Markdown

The initial description was empty, updated by @bernhardkaindl:

This PR

  • updates the GENESIS package recipe to the 2.0.x and 2.1.x release series
  • switches the package URL to the current upstream source, and
  • adds regression-test support.
  • also includes patching needed for CUDA/NVTX on Arm platforms and for Fujitsu compiler builds on A64FX systems.

alalazo / @chig, these are comments from GitHub Copilot from review of the PR on 25.6.2006:

Latest Updated Review Summary (25.6.2006)

GitHub Copilot checked the earlier changes requested by @alalazo, and they appear to be applied:

  • old versions/resources were removed
  • obsolete patch directives/files were removed
  • the obsolete @master condition was removed
  • the --host=Fugaku logic was narrowed to the a64fx target
  • explanatory comments were added above the patch directives

It also did another pass over the current diff and found one remaining risk worth addressing before merge:

  1. force_autoreconf = True is now unconditional, and autoconf, automake, libtool, and m4 are unconditional build dependencies for all builds.

Previously, autoreconf and those autotools dependencies were only needed for the patched Fujitsu-specific cases. Making them unconditional broadens the build behavior for every version and compiler, not just %fj. That means this PR is no longer only adding versions / updating URLs / %fj patch handling; it also changes the default build path for non-Fujitsu builds.

Copilot thinks this should either:

  • be limited back to the cases that actually patch autotools input files, or
  • be justified explicitly if all supported versions now require autoreconf.

Other than that, the earlier requested changes from @alalazo look applied to me.

Detailed review:

Q: Can you check if the changes requested by @alalazo by reviewing with changes-requested status have been applied? Also, can you review the PR for further issues or risks and add a comment to the PR with your results?


The specific changes requested by @alalazo in the earlier changes-requested reviews appear to have been applied, but GitHub Copilot also found one substantive remaining risk in the current PR diff.

Checked:

  • @alalazo requested removal of old versions/resources: applied.
  • @alalazo requested removal of obsolete patch directives/files: applied.
  • @alalazo requested fixing the obsolete @master condition: applied.
  • @alalazo requested keeping the --host=Fugaku logic only for a64fx: applied by changing the condition to spec.target == "a64fx".
  • @alalazo later requested comments above patch directives explaining effect/need/source: partially applied. The PR now has explanatory comments for the patch directives, but I did not verify provenance/source text for each patch beyond what is visible in the current diff.

Further review result:

  • I found a likely regression risk in package.py: the PR sets force_autoreconf = True unconditionally and makes autoconf, automake, libtool, and m4 unconditional build dependencies for all versions. Previously those were limited to the Fujitsu-patched builds / @master path. Since the main purpose of the PR is adding packaged releases and patching Fujitsu builds, broadening autoreconf to every build changes behavior for non-Fujitsu builds too. That may be intentional, but it is a materially wider change than the review thread established and could introduce avoidable build risk.

Why this matters:

  • Running autoreconf on every build can change the generated configure machinery for versions that previously built from shipped release tarballs without regeneration.
  • Making autotools dependencies unconditional increases the dependency surface for all users, not only the %fj cases that seem to require patching configure.ac.

@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had any activity in the last 6 months. It will be closed in 30 days if there is no further activity.
If the pull request is waiting for a reply from reviewers, feel free to ping them as a reminder. If it is waiting and has no assigned reviewer, feel free to ping @spack/spack-releasers or simply leave a comment saying this should not be marked stale. This will reset the pull request's stale state.
To get more eyes on your pull request, you can post a link in the #pull-requests channel of the Spack Slack.
Thank you for your contributions!

@github-actions github-actions Bot added the stale label Apr 8, 2026
@chig

chig commented Apr 8, 2026

Copy link
Copy Markdown
Author

@spack/spack-releasers
This PR is still relevant and useful for our HPC application (molecular dynamics software, GENESIS).
I would appreciate a review when possible.

Comment thread repos/spack_repo/builtin/packages/genesis/package.py
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
options.extend(self.enable_or_disable("hmdisk"))
if spec.satisfies("+cuda"):
options.append("--enable-gpu")
options.append("--with-cuda=%s" % spec["cuda"].prefix)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
options.append("--with-cuda=%s" % self.spec["cuda"].prefix)

Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/genesis/package.py
@alalazo alalazo self-assigned this Apr 8, 2026
@chig

chig commented Apr 8, 2026

Copy link
Copy Markdown
Author

Thank you very much for your suggestion. I've updated the recipe.

@spackbot-triage spackbot-triage Bot added patch new-variant stand-alone-tests Stand-alone (or smoke) tests for installed packages and removed dependencies labels Apr 8, 2026
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
Comment thread repos/spack_repo/builtin/packages/genesis/package.py
Comment thread repos/spack_repo/builtin/packages/genesis/package.py Outdated
@chig chig requested a review from alalazo April 9, 2026 08:00
@chig

chig commented Apr 9, 2026

Copy link
Copy Markdown
Author

Thanks for the review. I believe I have addressed the requested changes:

  • removed the old versions/resources
  • removed the obsolete patch directives
  • fixed the @master condition in the test logic
  • kept --host=Fugaku only for the a64fx target

I’ve requested review again. Thank you for taking another look.

@github-actions github-actions Bot removed the stale label Apr 12, 2026
@chig

chig commented May 26, 2026

Copy link
Copy Markdown
Author

@alalazo I believe I have addressed the remaining requested change by removing the obsolete @master condition. Could you please take another look when you have time?

Also, the workflow is currently awaiting maintainer approval, so I would appreciate it if the CI could be approved to run.

@alalazo alalazo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just one small comment. I'll let CI run in the meanwhile

Comment thread repos/spack_repo/builtin/packages/genesis/package.py
@chig

chig commented May 28, 2026

Copy link
Copy Markdown
Author

I've updated package.py using style fix.

@chig chig requested a review from alalazo May 28, 2026 07:41
bernhardkaindl
bernhardkaindl previously approved these changes Jun 25, 2026

@bernhardkaindl bernhardkaindl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@alalazo, I guess your GitHub-requested changes were applied,

PR would be ready to merge?

Checked: sentieon-genomics@202503.03 installs on Linux

@bernhardkaindl bernhardkaindl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

alalazo / @chig, these are comments from GitHub Copilot from review of the PR on 25.6.2006:

Latest Updated Review Summary (25.6.2006)

GitHub Copilot checked the earlier changes requested by @alalazo, and they appear to be applied:

  • old versions/resources were removed
  • obsolete patch directives/files were removed
  • the obsolete @master condition was removed
  • the --host=Fugaku logic was narrowed to the a64fx target
  • explanatory comments were added above the patch directives

It also did another pass over the current diff and found one remaining risk worth addressing before merge:

  1. force_autoreconf = True is now unconditional, and autoconf, automake, libtool, and m4 are unconditional build dependencies for all builds.

Previously, autoreconf and those autotools dependencies were only needed for the patched Fujitsu-specific cases. Making them unconditional broadens the build behavior for every version and compiler, not just %fj. That means this PR is no longer only adding versions / updating URLs / %fj patch handling; it also changes the default build path for non-Fujitsu builds.

Copilot thinks this should either:

  • be limited back to the cases that actually patch autotools input files, or
  • be justified explicitly if all supported versions now require autoreconf.

Other than that, the earlier requested changes from @alalazo look applied to me.

Detailed review:

Q: Can you check if the changes requested by @alalazo by reviewing with changes-requested status have been applied? Also, can you review the PR for further issues or risks and add a comment to the PR with your results?


The specific changes requested by @alalazo in the earlier changes-requested reviews appear to have been applied, but GitHub Copilot also found one substantive remaining risk in the current PR diff.

What I checked:

@alalazo requested removal of old versions/resources: applied.
@alalazo requested removal of obsolete patch directives/files: applied.
@alalazo requested fixing the obsolete @master condition: applied.
@alalazo requested keeping the --host=Fugaku logic only for a64fx: applied by changing the condition to spec.target == "a64fx".
@alalazo later requested comments above patch directives explaining effect/need/source: partially applied. The PR now has explanatory comments for the patch directives, but I did not verify provenance/source text for each patch beyond what is visible in the current diff.

Further review result:

I found a likely regression risk in package.py: the PR sets force_autoreconf = True unconditionally and makes autoconf, automake, libtool, and m4 unconditional build dependencies for all versions. Previously those were limited to the Fujitsu-patched builds / @master path. Since the main purpose of the PR is adding packaged releases and patching Fujitsu builds, broadening autoreconf to every build changes behavior for non-Fujitsu builds too. That may be intentional, but it is a materially wider change than the review thread established and could introduce avoidable build risk.

Why this matters:

Running autoreconf on every build can change the generated configure machinery for versions that previously built from shipped release tarballs without regeneration.
Making autotools dependencies unconditional increases the dependency surface for all users, not only the %fj cases that seem to require patching configure.ac.

@bernhardkaindl bernhardkaindl changed the title Update GENESIS recipe: add version 2.0.x, 2.1.x and update URL sentieon-genomics(GENESIS): add 2.0.x, 2.1.x, tests, fix for A64FX Jun 25, 2026
@bernhardkaindl bernhardkaindl added question Further information is requested changes-requested Can be used to make the state more visible labels Jun 25, 2026
@chig chig force-pushed the update-genesis branch from 496f256 to fe97f74 Compare June 26, 2026 08:59
@chig

chig commented Jun 26, 2026

Copy link
Copy Markdown
Author

I rebased the branch on the current develop branch and added a comment explaining why autoreconf is required unconditionally for GENESIS GitHub source archives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changes-requested Can be used to make the state more visible conflicts dependencies new-variant new-version patch question Further information is requested stand-alone-tests Stand-alone (or smoke) tests for installed packages update-package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants