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

Refactor spack-manager to be a plugin #577

Merged
merged 50 commits into from
Dec 4, 2023
Merged

Refactor spack-manager to be a plugin #577

merged 50 commits into from
Dec 4, 2023

Conversation

psakievich
Copy link
Collaborator

@psakievich psakievich commented Nov 13, 2023

This is going to be a big PR to rework the guts of spack-manager so that it is a plugin that is independent of the exawind project and spack instance. Key steps include:

  • Remove all modifications to the users env PYTHONPATH PATH env variables
  • Restructure directories
  • Add a YAML based config with options for spack-manager
  • Make the find-machine and associated config matching extendable via the yaml config in the step above.

The end goal of this PR is that the find-machine and create-env commands will work again via testing and can be extended to other projects.

Pinging @alalazo for your radar

@psakievich psakievich self-assigned this Nov 13, 2023
@psakievich psakievich marked this pull request as ready for review December 4, 2023 21:29
@psakievich psakievich merged commit 5dc0f89 into develop Dec 4, 2023
7 checks passed
@psakievich psakievich deleted the refactor branch December 4, 2023 21:29
psakievich added a commit that referenced this pull request Dec 7, 2023
* Begin Refactor spack-manager to be a plugin
psakievich added a commit that referenced this pull request Dec 7, 2023
* Refactor spack-manager to be a plugin
psakievich added a commit that referenced this pull request Feb 6, 2024
* Refactor spack-manager to be a plugin
psakievich added a commit that referenced this pull request Feb 12, 2024
* Refactor spack-manager to be a plugin (#577)
psakievich added a commit that referenced this pull request May 1, 2024
* Refactor spack-manager to be a plugin (#577)

* Refactor spack-manager to be a plugin

* Update create-dev-env (#580)

* Add pytest compatible patch replacement

* Rework unit tests for create_dev_env

* Revamp develop tests (#581)

* Revamp develop tests

* Give env a more specific name

* Add fixture to register extension in mutable config

* Update tests and calling args

* Restore the external command (#582)

* Restore the external command

* Restore deleted line

* Remove some SPACK_MANAGER env variable deps

* Missed delete

* Add documentation for how to setup a new project (#583)

* Add introduction to projects concept

* Update the project creation docs
- Covers creating and populating configs

* Machine detection process explained.

* More updates, moving into repos

* clean any projects that are loaded for unit tests

* Fix doc reference and unit-test

* Really fix unit-tests this time

* Remove breakpoints

* Make code certain a project exists

* Remove unused problematic code

* Add installation procedure (#586)

* Add installation procedure

* Fix path

* Add include command (#587)

* Add support for quick-commands (#588)

* Add support for quick-commands

* Remove lingering env var

* Default view to false

* Fix unit-tests

* Style

* Retool projects core (#589)

* Retool projects core

Split projects object and concept out of the
manager module so they are created/updated each
use

* Clean up

* Add interface for adding and removing projects

* Style

* Make include relative again

* Add a `--project` filter for finding machines and creating environments (#590)

* Add --project filter

* Add to env creation

* Style

* Add a tool for configuring a new platform

* Update platform_configure_tool.py

* Fix scope

* Add config location to find-machine

* Style and test

* Fix missing import

* Fix unit test

* F/make (#601)

* Add 'make' command

* Updates for spack-manager parsing

* Add a -j arg for most common use case

* Style and docs

* Add first unit-test

* Style
psakievich added a commit that referenced this pull request May 1, 2024
* Refactor spack-manager to be a plugin (#577)

* Refactor spack-manager to be a plugin

* Update create-dev-env (#580)

* Add pytest compatible patch replacement

* Rework unit tests for create_dev_env

* Revamp develop tests (#581)

* Revamp develop tests

* Give env a more specific name

* Add fixture to register extension in mutable config

* Update tests and calling args

* Restore the external command (#582)

* Restore the external command

* Restore deleted line

* Remove some SPACK_MANAGER env variable deps

* Missed delete

* Add documentation for how to setup a new project (#583)

* Add introduction to projects concept

* Update the project creation docs
- Covers creating and populating configs

* Machine detection process explained.

* More updates, moving into repos

* clean any projects that are loaded for unit tests

* Fix doc reference and unit-test

* Really fix unit-tests this time

* Remove breakpoints

* Make code certain a project exists

* Remove unused problematic code

* Add installation procedure (#586)

* Add installation procedure

* Fix path

* Add include command (#587)

* Add support for quick-commands (#588)

* Add support for quick-commands

* Remove lingering env var

* Default view to false

* Fix unit-tests

* Style

* Retool projects core (#589)

* Retool projects core

Split projects object and concept out of the
manager module so they are created/updated each
use

* Clean up

* Add interface for adding and removing projects

* Style

* Make include relative again

* Add a `--project` filter for finding machines and creating environments (#590)

* Add --project filter

* Add to env creation

* Style

* Add a tool for configuring a new platform

* Update platform_configure_tool.py

* Fix scope

* Add config location to find-machine

* Style and test

* Fix missing import

* Fix unit test

* F/make (#601)

* Add 'make' command

* Updates for spack-manager parsing

* Add a -j arg for most common use case

* Style and docs

* Add first unit-test

* Style

* Update docs

* Update action versions
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.

1 participant