You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+52-50
Original file line number
Diff line number
Diff line change
@@ -34,26 +34,26 @@ Simply open the project in VSCode and follow the prompts to build and open the d
34
34
35
35
1. Create the `mlos` Conda environment.
36
36
37
-
```sh
38
-
conda env create -f conda-envs/mlos.yml
39
-
```
37
+
```sh
38
+
conda env create -f conda-envs/mlos.yml
39
+
```
40
40
41
-
> See the [`conda-envs/`](./conda-envs/) directory for additional conda environment files, including those used for Windows (e.g. [`mlos-windows.yml`](./conda-envs/mlos-windows.yml)).
41
+
> See the [`conda-envs/`](./conda-envs/) directory for additional conda environment files, including those used for Windows (e.g. [`mlos-windows.yml`](./conda-envs/mlos-windows.yml)).
42
42
43
43
or
44
44
45
-
```sh
46
-
# This will also ensure the environment is update to date using "conda env update -f conda-envs/mlos.yml"
47
-
make conda-env
48
-
```
45
+
```sh
46
+
# This will also ensure the environment is update to date using "conda env update -f conda-envs/mlos.yml"
47
+
make conda-env
48
+
```
49
49
50
-
> Note: the latter expects a *nix environment.
50
+
> Note: the latter expects a \*nix environment.
51
51
52
52
1. Initialize the shell environment.
53
53
54
-
```sh
55
-
conda activate mlos
56
-
```
54
+
```sh
55
+
conda activate mlos
56
+
```
57
57
58
58
### Details
59
59
@@ -62,45 +62,47 @@ Simply open the project in VSCode and follow the prompts to build and open the d
62
62
We expect development to follow a typical "forking" style workflow:
63
63
64
64
1. Fork a copy of the [MLOS repo in Github](https://github.com/microsoft/MLOS).
65
+
65
66
1. Create a development (a.k.a. topic) branch off of `main` to work on changes.
66
67
67
-
For instance:
68
+
For instance:
68
69
69
-
```shell
70
-
git checkout -b YourDevName/some-topic-description main
71
-
```
70
+
```shell
71
+
git checkout -b YourDevName/some-topic-description main
72
+
```
72
73
73
74
1. Ensure all of the lint checks and tests pass.
74
75
75
-
The easiest way to do this is to run the `make` commands that are also used in the CI pipeline:
76
+
The easiest way to do this is to run the `make` commands that are also used in the CI pipeline:
76
77
77
-
```shell
78
-
# All at once in parallel.
79
-
make all
78
+
```shell
79
+
# All at once in parallel.
80
+
make all
80
81
81
-
# Or individually (for easier debugging)
82
-
make format
83
-
make check
84
-
make test
85
-
make dist-test
86
-
make doc-test
87
-
```
82
+
# Or individually (for easier debugging)
83
+
make format
84
+
make check
85
+
make test
86
+
make dist-test
87
+
make doc-test
88
+
```
88
89
89
-
> Note: `make format` and `make check` use [`pre-commit`](https://pre-commit.com/) to run checks and auto-formatting.
90
-
> See the [`.pre-commit-config.yaml`](./.pre-commit-config.yaml) file for more details.
91
-
> You can also run `pre-commit install` to enable the checks in your local git hooks.
92
-
>
93
-
> See the [documentation README](./doc/README.md) for more information on documentation and its testing.
90
+
> Note: `make format` and `make check` use [`pre-commit`](https://pre-commit.com/) to run checks and auto-formatting.
91
+
> See the [`.pre-commit-config.yaml`](./.pre-commit-config.yaml) file for more details.
92
+
> You can also run `pre-commit install` to enable the checks in your local git hooks.
93
+
>
94
+
> See the [documentation README](./doc/README.md) for more information on documentation and its testing.
94
95
95
96
1. Submit changes for inclusion as a [Pull Request on Github](https://github.com/microsoft/MLOS/pulls).
96
97
97
-
Some notes on organizing changes to help reviewers:
98
+
Some notes on organizing changes to help reviewers:
98
99
99
-
1. Please try to keep PRs small whenver possible and don't include unnecessaary formatting changes.
100
-
1. Larger changes can be planned in [Issues](https://github.com/microsoft/MLOS/issues), prototyped in a large draft PR for early feedback, and split into smaller PRs via discussion.
101
-
1. All changes should include test coverage (either new or existing).
100
+
1. Please try to keep PRs small whenver possible and don't include unnecessaary formatting changes.
101
+
1. Larger changes can be planned in [Issues](https://github.com/microsoft/MLOS/issues), prototyped in a large draft PR for early feedback, and split into smaller PRs via discussion.
102
+
1. All changes should include test coverage (either new or existing).
102
103
103
104
1. PRs are associated with [Github Issues](https://github.com/microsoft/MLOS/issues) and need [MLOS-committers](https://github.com/orgs/microsoft/teams/MLOS-committers) to sign-off (in addition to other CI pipeline checks like tests and lint checks to pass).
105
+
104
106
1. Once approved, the PR can be completed using a squash merge in order to keep a nice linear history.
105
107
106
108
## Distributing
@@ -109,24 +111,24 @@ You can also locally build and install from wheels like so:
109
111
110
112
1. Build the *wheel* file(s)
111
113
112
-
```sh
113
-
make dist
114
-
```
114
+
```sh
115
+
make dist
116
+
```
115
117
116
-
2. Install it.
118
+
1. Install it.
117
119
118
-
```sh
119
-
# this will install just the optimizer component with SMAC support:
Copy file name to clipboardexpand all lines: MAINTAINING.md
+33-33
Original file line number
Diff line number
Diff line change
@@ -10,51 +10,51 @@ See the [documentation README](./doc/README.md) for more information on writing
10
10
11
11
1. Bump the version using the [`update-version.sh`](./scripts/update-version.sh) script:
12
12
13
-
```sh
14
-
git checkout -b bump-version main
15
-
./scripts/update-version.sh --no-tag patch # or minor or major
16
-
```
13
+
```sh
14
+
git checkout -b bump-version main
15
+
./scripts/update-version.sh --no-tag patch # or minor or major
16
+
```
17
17
18
-
> By default this would create a local tag, but we would have to overwrite it later, so we skip that step.
18
+
> By default this would create a local tag, but we would have to overwrite it later, so we skip that step.
19
19
20
-
2. Test it!
20
+
1. Test it!
21
21
22
-
```sh
23
-
make dist-test
22
+
```sh
23
+
make dist-test
24
24
25
-
# Make sure that the version number on the wheels looks correct.
26
-
ls */dist/*.whl
27
-
```
25
+
# Make sure that the version number on the wheels looks correct.
26
+
ls */dist/*.whl
27
+
```
28
28
29
-
3. Make and merge a PR.
29
+
1. Make and merge a PR.
30
30
31
-
4. Update the tag locally.
31
+
1. Update the tag locally.
32
32
33
-
Once the PR with the new version files is merged.
33
+
Once the PR with the new version files is merged.
34
34
35
-
```sh
36
-
git checkout main
37
-
git pull
38
-
git tag vM.m.p
39
-
```
35
+
```sh
36
+
git checkout main
37
+
git pull
38
+
git tag vM.m.p
39
+
```
40
40
41
-
> Note: `M.m.p` is the version number you just bumped to above.
41
+
> Note: `M.m.p` is the version number you just bumped to above.
42
42
43
-
5. Retest!
43
+
1. Retest!
44
44
45
-
```sh
46
-
make dist-clean
47
-
make dist-test
48
-
```
45
+
```sh
46
+
make dist-clean
47
+
make dist-test
48
+
```
49
49
50
-
6. Update the tag remotely to the MLOS upstream repo.
50
+
1. Update the tag remotely to the MLOS upstream repo.
51
51
52
-
```sh
53
-
git push --tags # upstream (if that's what you called your upstream git remote)
54
-
```
52
+
```sh
53
+
git push --tags # upstream (if that's what you called your upstream git remote)
54
+
```
55
55
56
-
7. Make a "Release" on Github.
56
+
1. Make a "Release" on Github.
57
57
58
-
> Once this is done, the rules in [`.github/workflows/devcontainer.yml`](./.github/workflows/devcontainer.yml) will automatically publish the wheels to [pypi](https://pypi.org/project/mlos-core/) and tagged docker images to ACR.
59
-
> \
60
-
> Note: This may fail if the version number is already published to pypi, in which case start from the beginning with a new patch version.
58
+
> Once this is done, the rules in [`.github/workflows/devcontainer.yml`](./.github/workflows/devcontainer.yml) will automatically publish the wheels to [pypi](https://pypi.org/project/mlos-core/) and tagged docker images to ACR.
59
+
> \
60
+
> Note: This may fail if the version number is already published to pypi, in which case start from the beginning with a new patch version.
0 commit comments