Skip to content

Commit 1a516a5

Browse files
authored
Merge branch 'master' into add_github_templates
2 parents 0c8ee16 + 617d9f1 commit 1a516a5

File tree

3 files changed

+28
-24
lines changed

3 files changed

+28
-24
lines changed

docs/release.md

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,31 @@
11
# Mbed OS Tools
22

3-
`mbed-os-tools` will be the name of the unified tools repo. It will also be the name of the unified tools pip package.
4-
From this codebase, we will still be releasing the other pip packages that we currently maintain in separate repos.
5-
For the initial release of `mbed-os-tools`, this will include:
3+
`mbed-os-tools` is the name of the unified tools pip package. From this codebase, we release the other pip packages:
64

75
- `mbed-ls` (Mbed LS): https://github.com/ARMmbed/mbed-ls
86
- `mbed-host-tests` (htrun): https://github.com/ARMmbed/htrun
97
- `mbed-greentea` (greentea): https://github.com/ARMmbed/greentea
108

11-
From the user's perspective, nothing will change if they upgrade their version of the above packages.
12-
They will still receive the correct packages and all the existing command line tools.
13-
The only thing that will change on their system is an additional package will be installed. This is the `mbed-os-tools` package.
14-
15-
169
## Package and API structure
1710

18-
`mbed-os-tools` will expose the following modules:
11+
`mbed-os-tools` exposes the following modules:
1912

2013
- `mbed_os_tools.detect` - All code contained within Mbed LS, used for detecting attached platforms
2114
- `mbed_os_tools.test` - All code used to test platforms with the "greentea" framework
2215
- Will also need to plan ahead for icetea integration here
2316

24-
The other packages will then be in charge of taking these modules and exposing the existing public API. (ex. `import mbed_lstools` for mbed-ls)
25-
The goal will be in the future to remove the other bespoke packages and just consolidate on the `mbed_os_tools.*` API exposed by `mbed-os-tools`.
26-
This path gives us the opportunity to deprecate the other packages to allow users to migrate.
17+
The other packages take these modules and expose the existing public API. (ex. `import mbed_lstools` for mbed-ls). The goal will be in the future to remove the other packages and just consolidate on the `mbed_os_tools.*` API exposed by `mbed-os-tools`. This path gives us the opportunity to deprecate the other packages to allow users to migrate.
2718

2819
## Versioning
2920

30-
The versions of the legacy released packages (initially `mbed-ls`, `mbed-host-tests`, and `mbed-greentea`) will continue unaffected.
31-
`mbed-os-tools` will be released initially as `0.x` indicating that the APIs are unstable. This will give us time to evolve the API and build up our
32-
processes. We don't intend to make API changes that often, but it may be necessary to do so in the first few releases.
21+
The versions of the released packages (initially `mbed-ls`, `mbed-host-tests`, and `mbed-greentea`) will continue unaffected.
22+
`mbed-os-tools` will be released initially as `0.x` indicating that the APIs are unstable. This will give us time to evolve the API and build up our processes. We don't intend to make API changes that often, but it may be necessary to do so in the first few releases.
3323

34-
When it comes time to drop the legacy packages, `mbed-os-tools` will be released as stable (`1.0`). Before being released as stable, the following tasks should
24+
When it comes time to drop the packages, `mbed-os-tools` will be released as stable (`1.0`). Before being released as stable, the following tasks should
3525
be completed:
3626

37-
- All legacy packages are marked as deprecated with a redirect to `mbed-os-tools`
38-
- The Python modules should also print deprecation messages when using the legacy modules directly
39-
- Any relevant issues on each of the legacy projects' GitHub pages are filed against `mbed-os-tools`
27+
- All packages are marked as deprecated with a redirect to `mbed-os-tools`
28+
- The Python modules should also print deprecation messages when using the modules directly
4029
- All documentation for `mbed-os-tools` needs to be delivered to the Mbed OS docs team for deployment to `os.mbed.com/docs`
4130

4231
## Releasing
@@ -46,15 +35,22 @@ be completed:
4635
The packages need to be released in the correct order. This is due to the new dependencies described above. Follow these steps to make a new release of the tools:
4736

4837
1. Release mbed-os-tools with a patch version increase
49-
2. For each legacy package, change the "mbed-os-tools" requirement version to the number just released (in this case it would be 0.0.1).
50-
3. For each legacy package, increase each patch number (this will vary with each package).
51-
4. Release each legacy package to pypi
38+
2. For each package, change the "mbed-os-tools" requirement version to the number just released (in this case it would be 0.0.1).
39+
3. For each package, increase each patch number (this will vary with each package).
40+
4. Release each package to pypi
41+
42+
The packages are uploaded to pypi using the [twine](https://github.com/pypa/twine) utility. Once your pypi credentials are setup, run the following commands in each package:
43+
44+
```
45+
python setup.py sdist
46+
twin upload dist/<package>.tar.gz
47+
```
5248

5349
## Documentation
5450

5551
All public APIs are required to be fully documented with comments throughout the codebase. From these comments,
5652
we will generate API documentation. There will also be examples and in-depth descriptions for higher-level concepts.
57-
This documentation is strictly for the `mbed-os-tools` package, **NOT the other legacy packages**. The legacy packages will
53+
This documentation is strictly for the `mbed-os-tools` package, **NOT the other packages**. The other packages will
5854
retain their current documentation (typically just a README in the project folder).
5955

6056
The documentation will be versioned with each release of `mbed-os-tools`. We plan to evolve the automated processes to generate

src/mbed_os_tools/test/mbed_greentea_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def create_filtered_test_list(ctest_test_list, test_by_names, skip_test, test_sp
5555

5656
if test_by_names:
5757
filtered_ctest_test_list = {} # Subset of 'ctest_test_list'
58-
test_list = test_by_names.split(',')
58+
test_list = test_by_names.lower().split(',')
5959
gt_logger.gt_log("test case filter (specified with -n option)")
6060

6161
for test_name in set(test_list):

test/test/mbed_gt_cli.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,13 @@ def test_create_filtered_test_list(self):
115115
expected = set(['mbed-drivers-test-c_strings', 'mbed-drivers-test-generic_tests'])
116116
self.assertEqual(set(test_list.keys()), expected)
117117

118+
# Should be case insensitive
119+
test_list = mbed_greentea_cli.create_filtered_test_list(test_build.get_tests(),
120+
'*-DRIVERS-*',
121+
None,
122+
test_spec=test_spec)
123+
expected = set(['mbed-drivers-test-c_strings', 'mbed-drivers-test-generic_tests'])
124+
self.assertEqual(set(test_list.keys()), expected)
125+
118126
if __name__ == '__main__':
119127
unittest.main()

0 commit comments

Comments
 (0)