Skip to content

Commit e2d36b3

Browse files
authored
Merge pull request #43 from douglasjacobsen/release-v0.2.0
Release v0.2.0
2 parents c5518a0 + 6df32ae commit e2d36b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3895
-336
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ body:
2525
If Ramble reported an error, provide the error message. If it did not report an error but the output appears incorrect, provide the incorrect output. If there was no error message and no output but the result is incorrect, describe how it does not match what you expect.
2626
placeholder: |
2727
```console
28-
$ spack --debug --stacktrace <command>
28+
$ ramble --debug --stacktrace <command>
2929
```
3030
- type: textarea
3131
id: information
3232
attributes:
3333
label: Information on your system
34-
description: Please include the output of `spack debug report`
34+
description: Please include the output of `ramble debug report`
3535
validations:
3636
required: true
3737
- type: markdown
@@ -53,6 +53,4 @@ body:
5353
attributes:
5454
value: |
5555
We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively!
56-
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on [our Slack](https://slack.spack.io/) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
57-
5856
Other than that, thanks for taking the time to contribute to Ramble!

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,4 @@ body:
3636
- type: markdown
3737
attributes:
3838
value: |
39-
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on [our Slack](https://slack.spack.io/) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
40-
41-
Other than that, thanks for taking the time to contribute to Ramble!
39+
Thanks for taking the time to contribute to Ramble!

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
__pycache__/
22
*.x
33
*.txt
4+
var/ramble/cache

LICENSE-APACHE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
same "printed page" as the copyright notice for easier
188188
identification within third-party archives.
189189

190-
Copyright [yyyy] [name of copyright owner]
190+
Copyright 2022-2023 Google LLC.
191191

192192
Licensed under the Apache License, Version 2.0 (the "License");
193193
you may not use this file except in compliance with the License.

LICENSE-MIT

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2013-2020 Google LLC, and other Spack or Ramble
4-
Project Developers.
3+
Copyright (c) 2022-2023 Google LLC, Ramble Project Developers.
54

65
Permission is hereby granted, free of charge, to any person obtaining a copy
76
of this software and associated documentation files (the "Software"), to deal

LICENSE.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

etc/ramble/defaults/config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,8 @@ config:
2020
connect_timeout: 10
2121
checksum: true
2222
shell: 'sh'
23+
spack_flags:
24+
install: '--reuse'
25+
concretize: '--reuse'
26+
input_cache: $ramble/var/ramble/cache
27+
workspace_dirs: $ramble/var/ramble/workspaces

etc/ramble/defaults/mirrors.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mirrors: {}

docs/Getting_Started.md renamed to lib/ramble/docs/getting_started.rst

Lines changed: 76 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1-
# Getting Started
2-
-----------------
1+
.. Copyright 2022-2023 Google LLC
32
4-
# System Requirements:
5-
------------------------
3+
Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
4+
https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
5+
<LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
6+
option. This file may not be copied, modified, or distributed
7+
except according to those terms.
8+
9+
===============
10+
Getting Started
11+
===============
12+
13+
--------------------
14+
System Requirements:
15+
--------------------
616

717
Ramble's dependencies are listed within the top level
818
requirements.txt file.
@@ -14,24 +24,26 @@ Please see [Spack's documentation](https://spack.readthedocs.io/en/latest/gettin
1424
for getting spack installed.
1525

1626

17-
# Installation:
18-
-----------------
27+
-------------
28+
Installation:
29+
-------------
1930

2031
Installing ramble is easy. You can clone it from the
2132
[github repository](https://github.com/GoogleCloudPlatform/ramble) using this command:
2233

23-
```
34+
.. code-block:: console
2435
$ git clone -c feature.manyFiles=true https://github.com/GoogleCloudPlatform/ramble.git
25-
```
36+
2637
2738
This will create a directory called ``ramble``.
2839

29-
# Shell Support:
30-
------------------
40+
^^^^^^^^^^^^^^
41+
Shell Support:
42+
^^^^^^^^^^^^^^
3143

3244
Once you have cloned Ramble, we recommend sourcing the appropriate script for your shell:
3345

34-
```
46+
.. code-block:: console
3547
# For bash/zsh/sh
3648
$ . ramble/share/ramble/setup-env.sh
3749
@@ -40,7 +52,6 @@ Once you have cloned Ramble, we recommend sourcing the appropriate script for yo
4052
4153
# For fish
4254
$ . ramble/share/ramble/setup-env.fish
43-
```
4455
4556
That's it! You're ready to use Ramble.
4657

@@ -58,40 +69,42 @@ continue to use the same consistent python version regardless of changes in the
5869
environment.
5970

6071

61-
# Command Help:
62-
-----------------
72+
-------------
73+
Command Help:
74+
-------------
6375
To get information on the available commands, you can execute:
6476

65-
```
77+
.. code-block:: console
6678
$ ramble help --all
67-
```
79+
6880
6981
For help with sub-commands, the ``-h`` flag can be used:
7082

71-
```
83+
.. code-block:: console
7284
$ ramble <subcommand> -h
73-
```
7485
75-
# Defined Applications:
76-
-------------------------
86+
87+
---------------------
88+
Defined Applications:
89+
---------------------
7790

7891
In order to get information about the available applications defined within
7992
``ramble``, you can use the command:
8093

81-
```
94+
.. code-block:: console
8295
$ ramble list
83-
```
96+
8497
8598
This command uses filtering to search the defined applications, e.g.:
8699

87-
```
100+
.. code-block:: console
88101
$ ramble list wrf
89-
```
90102
91103
will list both ``wrfv3`` and ``wrfv4``.
92104

93-
# Ramble Workspaces:
94-
----------------------
105+
------------------
106+
Ramble Workspaces:
107+
------------------
95108

96109
To configure experiments, you need to use a Ramble workspace. A workspace is a
97110
self contained directory that contains configuration files, template files, and
@@ -111,50 +124,48 @@ commands.
111124
A workspace can be selected when executing ``ramble`` through the use of the
112125
``-w`` and ``-D`` flags.
113126

114-
## Creating Workspaces:
115-
-------------------------
127+
^^^^^^^^^^^^^^^^^^^^
128+
Creating Workspaces:
129+
^^^^^^^^^^^^^^^^^^^^
116130

117131
To create a new Ramble workspace, you can use:
118132

119-
```
133+
.. code-block:: console
120134
$ ramble workspace create [<name>] [-d <path>]
121-
```
122135
123136
Once a workspace is created, you can activate the workspace. This allows some
124137
subsequent commands to work without explicitly passing in a workspace. This
125138
is done through:
126139

127-
```
140+
.. code-block:: console
128141
$ ramble workspace activate [<name>/<path>]
129-
```
130142
131143
With an activated workspace, you can get information about the workspace with:
132144

133-
```
145+
.. code-block:: console
134146
$ ramble workspace info
135-
```
136147
137-
## Configuring A Workspace:
138-
-----------------------------
148+
^^^^^^^^^^^^^^^^^^^^^^^^
149+
Configuring A Workspace:
150+
^^^^^^^^^^^^^^^^^^^^^^^^
139151

140152
Within the created workspace, a ``configs`` directory is created to house the
141153
configuration files.
142154

143155
A newly created workspace will contain:
144156

145-
```
157+
.. code-block:: console
146158
- configs
147159
| - ramble.yaml
148160
| - execute_experiment.tpl
149-
```
150161
151162
The ``ramble.yaml`` file contains the configuration of the workspace. Any file
152163
placed in this ``configs`` directory with the extension ``.tpl`` will generate
153164
a "rendered" version within every experiment directory.
154165

155166
These files can be edited with your favorite editor, or though the command:
156167

157-
```
168+
.. code-block:: console
158169
$ ramble workspace edit
159170
```
160171

@@ -164,70 +175,72 @@ configuration file.
164175
Variables are defined of the format ``{file_prefix}``, that contain the path to
165176
the rendered version within every experiment. As an example:
166177

167-
```
178+
.. code-block:: console
168179
configs/execute_experiment.tpl
169-
```
170180
171-
Will define ``{execute_experiment}``
181+
Will define ``{execute_experiment}`` with a value set to the path of hte
182+
generated file.
183+
(More explicitly, ``execute_experiment={experiment_run_dir}/{template_name_sans_extension}``)
172184

173-
## Concretizing A Workspace:
174-
------------------------------
185+
^^^^^^^^^^^^^^^^^^^^^^^^^
186+
Concretizing A Workspace:
187+
^^^^^^^^^^^^^^^^^^^^^^^^^
175188

176189
After configuring a workspace with applications, workloads, and experiments,
177190
Ramble can be used to inject default software configurations for the requested
178191
experiments. To do this, you can use the:
179192

180-
```
193+
.. code-block:: console
181194
$ ramble workspace concretize
182-
```
183195
184196
This will fill out the ``spack`` dictionary within the ``ramble.yaml`` file
185197
with defaults. The defaults can be configured however you want before
186198
installing the actual software.
187199

188-
## Setting Up A Workspace:
189-
----------------------------
200+
^^^^^^^^^^^^^^^^^^^^^^^
201+
Setting Up A Workspace:
202+
^^^^^^^^^^^^^^^^^^^^^^^
190203

191204
Once a workspace is concretized, it can be set up. This process is executed through:
192205

193-
```
206+
.. code-block:: console
194207
$ ramble workspace setup
195-
```
196208
197209
The setup action will:
198210
- Install required / requested software
199211
- Download required input files
200212
- Create and configure experiment directories
201213
- Create the ``all_experiments`` script
202214

203-
## Executing Experiments:
204-
---------------------------
215+
^^^^^^^^^^^^^^^^^^^^^^
216+
Executing Experiments:
217+
^^^^^^^^^^^^^^^^^^^^^^
205218

206219
After the workspace is set up, its experiments can be executed. The two methods
207220
to run the experiments are:
208221

209-
```
222+
.. code-block:: console
210223
$ ramble on
224+
or;
211225
$ ./all_experiments
212-
```
213-
214226
215-
## Analyzing Experiments:
216-
---------------------------
227+
^^^^^^^^^^^^^^^^^^^^^^
228+
Analyzing Experiments:
229+
^^^^^^^^^^^^^^^^^^^^^^
217230

218231
Once the experiments within a workspace are complete, the experiments can be
219232
analyzed. This is done through:
220233

221-
```
234+
.. code-block:: console
222235
$ ramble workspace analyze
223-
```
224236
225237
This creates a ``results`` file in the root of the workspace that contains
226238
extracted figures of merit.
227239

228240

229-
## Archiving A Workspace:
230-
---------------------------
241+
^^^^^^^^^^^^^^^^^^^^^^
242+
Archiving A Workspace:
243+
^^^^^^^^^^^^^^^^^^^^^^
231244

232245
Ramble can create an archive of a workspace. This is a self contained copy of various important aspects of the workspace, including:
233246
- All files in the ``configs`` directory
@@ -238,12 +251,10 @@ Ramble can create an archive of a workspace. This is a self contained copy of va
238251

239252
You can archive a workspace with:
240253

241-
```
254+
.. code-block:: console
242255
$ ramble workspace archive
243-
```
244256
245257
And you can create a tar-ball with:
246258

247-
```
259+
.. code-block:: console
248260
$ ramble workspace archive -t
249-
```

0 commit comments

Comments
 (0)