-
Notifications
You must be signed in to change notification settings - Fork 37
Release v0.2.0 #43
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
Merged
rfbgo
merged 72 commits into
GoogleCloudPlatform:main
from
douglasjacobsen:release-v0.2.0
Feb 17, 2023
Merged
Release v0.2.0 #43
rfbgo
merged 72 commits into
GoogleCloudPlatform:main
from
douglasjacobsen:release-v0.2.0
Feb 17, 2023
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit adds config:spack_flags:install and config:spack_flags:concretize that can set the flags to use when performing `spack concretize` and `spack install` actions. Tests for this functionality are also added.
Add support for spack flags to be set in config files
New definition has more verbose FOMs and more closely maps to the needs of the primary customer of the application
Previously there was no way for a workload to suggest a list of values that a user might consider setting the variable to. This adds functionality to support that and appears like: ``` $ ramble info intel-mpi-benchmarks 130 ↵ Application: IntelMpiBenchmarks Description: Intel MPI Benchmark application. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-mpi-benchmarks.html https://github.com/intel/mpi-benchmarks https://www.intel.com/content/www/us/en/develop/documentation/imb-user-guide/top.html Tags: micro-benchmark benchmark mpi Setup Pipeline Phases: install_software get_inputs make_experiments Analyze Pipeline Phases: analyze_experiments Workloads: pingpong multi-pingpong collective pingpong variables: output_path Description: Dumpfile Output Path Default: ./output pingpong_type Description: Pingpong Algorithm to Use Default: Pingpong Suggested Values: ['Pingpong', 'Unirandom', 'Multi-Pingpong', 'Birandom', 'Corandom'] ```
The `workspace info` command was broken when trying to extract spack specs from a workspace. This commit fixes the issue.
Addressing review comments
Fix `workspace info`
IMB enhancement + suggested value support
Add code coverage to PR validation
This commit adds syntax for defining success criteria in both application.py files, and ramble.yaml workspace files. Within an application definition file, this looks like: `success_criteria(name, mode, match, file)` Within a ramble.yaml, this looks like: success_criteria: - name: <name> mode: <mode> match: <match> file: <file> This can be defined at any level where a variables dictionary can exist.
Add success criteria and tests
…_ci_failures Update cloud-build tests so failures are reported correctly
This commit creates a (previously referenced, but missing) `debug` command. Additionally, references to spack are removed from the .github directory.
…command Add a `debug` command
This commit adds spec_namespace as a property for the expander. This namespace is defined as: `'{spec_name}.workload_name'` `'{spec_name}'` will expand to the name of the spec that is used in each experiment.
This commit adds support for $workspace/configs/auxiliary_software_files to contain arbitrary files which different application types can utilize. For now, the spack application type copies these files into the generated spack environment. This allows spack to read them as additional config options.
…amespace Change cache to use spec_namespace
…ace_documentation Convert docs to `.rst` and write a workspace_config.rst
…env-files Add support for auxiliary software files
Add slurm specific head to IMB slurm example
This commit updates the DirectiveMeta class to allow applications to inherit from other applications. This allows a base application to be defined, and other applications can inherit the base application's directives. This way they only need to define new features (inputs, workloads, etc..) without re-defining all of the application attributes. This brings the DirectiveMeta class closer in line with Spack v0.19.0's DirectiveMeta class.
Unsets deduced vars to allow them to fully re read from the experiment setup Fixes GoogleCloudPlatform#30
Fix incorrectly retained vars between experiments
This commit adds a test that actually creates a mirror, to ensure `mirror create` is properly exercised.
…rror Add mirror support for input files
This commit moves the logic for creating a spack environment out of the software installation phase. This is to prepare for a mirror pipeline that will handle mirroring inputs and software.
We have made significant updates to ramble and have not regenerated the bash completion, this address that As part of this I also updated the license for the `.in` file
The completion was not working to recommend names of workspaces, ie: `ramble workspace activate <tab>` This was because there was a function we reference called `_workspaces` which was not implemented it. This commit implements it
…plete Regenerate and fix bash autocomplete
Also add a test to cover this in the future Fixes GoogleCloudPlatform#41
…e_update Update licenses to identify dual license
1. Retain tpl name when it is passed via `-t` 2. Tidy excess prints
…late Fix bug where `-t` was not working during workspace create
This commit moves the existing mirror logic from its own command into the workspace command (since a workspace is needed to perform the mirroring anyway). Additionally, this commit adds mirroring of software packages within the workspace. This deprecates the `mirror create` command for the time being.
…ults in lib/ramble/ramble/config.py and etc/ramble/defaults/config.yaml
workspace_path has been removed, replaced with get_workspace_path and set_workspace_path functions. This had a cascading effect through the unit tests, which overall have been cleaned up to avoid leaving test workspaces around. Changes to be committed: modified: .gitignore modified: lib/ramble/ramble/cmd/workspace.py modified: lib/ramble/ramble/test/cmd/on.py modified: lib/ramble/ramble/test/cmd/workspace.py modified: lib/ramble/ramble/test/conftest.py modified: lib/ramble/ramble/test/end_to_end.py modified: lib/ramble/ramble/test/expander.py modified: lib/ramble/ramble/test/mirror_tests.py modified: lib/ramble/ramble/workspace/__init__.py modified: lib/ramble/ramble/workspace/workspace.py
…le-workspace-dir Allow workspace_path to be set via config:user:workspace_dir
…_spack Update mirror logic, and mirror software
rfbgo
approved these changes
Feb 17, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This release includes the following pull requests:
#38 mirror_spack
#36 configurable-workspace-dir
#42 create_with_template
#39 license_update
#40 fix_bash_autocomplete
#33 url_mirror
#31 fix_nnode_deduction
#34 pr_flake_error_fix
#32 fix_empty_expvars
#27 simlink_results
#28 iperf2
#26 application_inheritance
#24 improve_imb_example
#16 spack-env-files
#22 workspace_documentation
#20 spec_namespace
#21 debug_command
#18 report_ci_failures
#13 success_criteria
#14 coverage_report
#10 imb_enhancement
#11 fix_workspace_info
#9 spack-flags