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

Installer: queue only link/run deps unless building from source #46101

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

becker33
Copy link
Member

@becker33 becker33 commented Aug 29, 2024

Depends on #39136 (commits up-to/including 39ff are from that PR)

  • Refactors BuildTask into separate classes BuildTask and InstallTask
  • Queues all packages as InstallTask, with link/run deps only
  • If an InstallTask fails to install from binary, a BuildTask is generated
  • The BuildTask is queued with dependencies on the new InstallTasks for its build deps and their link/run dependencies.
  • The Tasks telescope open to include all build deps of build deps ad-hoc

TODO:

  • Docs
  • Fix InstallStatus to track/report new dependencies properly

@spackbot-app spackbot-app bot added binary-packages commands core PR affects Spack core functionality dependencies environments new-version shell-support stand-alone-tests Stand-alone (or smoke) tests for installed packages tests General test capability(ies) update-package workflow labels Aug 29, 2024
@spackbot-app spackbot-app bot requested review from alalazo and tgamblin August 29, 2024 00:18
@becker33 becker33 force-pushed the features/install-binary-no-build-deps branch 2 times, most recently from e7980d2 to fbc7ad9 Compare August 29, 2024 00:34
@tldahlgren tldahlgren self-requested a review August 29, 2024 01:36
@tldahlgren tldahlgren self-assigned this Aug 29, 2024
@tldahlgren tldahlgren force-pushed the features/install-binary-no-build-deps branch from d6d8dbb to 085cff4 Compare August 30, 2024 00:22
Copy link
Contributor

@tldahlgren tldahlgren left a comment

Choose a reason for hiding this comment

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

I'm still reviewing this but wanted to add the comment.

lib/spack/spack/installer.py Outdated Show resolved Hide resolved
@becker33 becker33 force-pushed the features/install-binary-no-build-deps branch 2 times, most recently from 52ec48e to 63c8bd6 Compare September 5, 2024 20:28
"The spec is now uninstalled."
)

# Unwrap the actuall installation exception
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo: actuall -> actual.

@becker33 becker33 force-pushed the features/install-binary-no-build-deps branch 3 times, most recently from 5e8476b to c0e596c Compare September 6, 2024 05:26
becker33 and others added 5 commits November 11, 2024 16:29
…eded

Refactors BuildTask into separate classes BuildTask and InstallTask
Queues all packages as InstallTask, with link/run deps only
If an InstallTask fails to install from binary, a BuildTask is generated
The BuildTask is queued with dependencies on the new InstallTasks for its
build deps and their link/run dependencies.
The Tasks telescope open to include all build deps of build deps ad-hoc
@becker33 becker33 force-pushed the features/install-binary-no-build-deps branch from c0e596c to e8327bc Compare November 12, 2024 01:00
- test/installer: use existing inst for spack.installer
- remove install status from Installing message
- Add specs count visitor
- Report status on installed plus minor refactor
- Add the "+" to the tracker; include one experimental dynamic calculation
- tweak status reporting to include ensuring numerator unique across installed packages
- _print_installed_pkg -> InstallStatus.print_installed()
- move set_term_title outside of InstallStatus
- InstallStatus: remove unnecessary next_pkg
- InstallStatus: class and method name changes
  * changed InstallStatus to InstallerStatus since already have former in
    database.py and spec.py
  * changed print_installed to set_installed since does more than print now
- InstallerStatus -> InstallerProgress, install_status -> progress
- InstallerProgress: cache config:install_status
- InstallerProgress: restore get_progress and set_term_title methods (w/ tweaks)
- Task execute(): added returns to docstrings
- Don't pass progress to build_process or Installer.run, but set installed on successful return
- fix mypy issue with pkg.run_tests assignment
@tldahlgren tldahlgren force-pushed the features/install-binary-no-build-deps branch from 7261682 to 58ed9be Compare November 14, 2024 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binary-packages commands core PR affects Spack core functionality dependencies environments new-version shell-support stand-alone-tests Stand-alone (or smoke) tests for installed packages tests General test capability(ies) update-package workflow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants