Skip to content

Commit 5ace15c

Browse files
authored
Merge pull request #49 from IRNAS/release/v0.7.0
Release v0.7.0
2 parents 95cdbd4 + 2531345 commit 5ace15c

16 files changed

+774
-117
lines changed

CHANGELOG.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

77
## [Unreleased]
88

9+
## [0.7.0] - 2023-02-15
10+
11+
### Added
12+
13+
- New documentation files in `docs` folder: `development_guide.md`,
14+
`getting_started.md`, `how_east_works.md`
15+
- `make format` command, which uses `black` and `isort`.
16+
`development_guide.md` explains the use.
17+
- Both commands `east util connect` and `east util rtt` now accept
18+
`--rtt-port` option, which sets the RTT Telnet port. Command
19+
`east util connect` now also accepts the `--jlink-id` option, same as
20+
`east flash`. With those new options is now easier to connect and listen to
21+
RTT messages from multiple JLink devices.
22+
23+
### Changed
24+
25+
- Updated readme so it points to the new documentation.
26+
27+
### Fixed
28+
29+
- Fixed release artefacts naming issue where build type would not appear
30+
correctly.
31+
- Create a `release_dry_run` folder instead of release folder when using
32+
\--dry-run option with _east release_ command.
33+
- `east release` command now runs a pre-check on the apps and samples from
34+
`east.yml`, if they exists before running the release process. That way you
35+
can catch a typo, or a mistake before you spent some time waiting through
36+
the release process.
37+
938
## [0.6.2] - 2022-12-16
1039

1140
### Fixed
@@ -113,7 +142,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
113142
- Docker scripts for building and running docker containers, for development
114143
purposes.
115144

116-
[Unreleased]: https://github.com/IRNAS/irnas-east-software/compare/v0.6.2...HEAD
145+
[Unreleased]: https://github.com/IRNAS/irnas-east-software/compare/v0.7.0...HEAD
146+
147+
[0.7.0]: https://github.com/IRNAS/irnas-east-software/compare/v0.6.2...v0.7.0
117148

118149
[0.6.2]: https://github.com/IRNAS/irnas-east-software/compare/v0.6.1...v0.6.2
119150

README.md

Lines changed: 62 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,62 @@
1-
# East tool
2-
3-
## Installation and updating
4-
5-
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install East.
6-
7-
```bash
8-
pip install --upgrade east-tool
9-
```
10-
11-
## Usage
12-
13-
`east` intends to be fully documented inside the tool itself, (which is not
14-
yet). Executing `east` or `east --help` in the command line should give you
15-
sufficient information on how to use the tool in basic ways.
16-
17-
To learn more about configuration refer to the [docs](docs) folder.
18-
19-
20-
## Developing East
21-
22-
For development and testing of `east` the use of `virtualenv` is suggested.
23-
24-
Install `virtualenv`:
25-
26-
```bash
27-
pip install virtualenv
28-
```
29-
30-
Create and activate `virtualenv`, run this from project root:
31-
32-
```bash
33-
virtualenv venv
34-
source venv/bin/activate
35-
```
36-
37-
To create and editable install of `east` run below command. Whatever change you
38-
make in the code it will be immediately reflected in the actual tool.
39-
40-
```bash
41-
make install-dev
42-
```
43-
44-
### Running unit tests
45-
46-
```bash
47-
make test
48-
```
49-
50-
#### Editable install does not work
51-
52-
If `make install` (more exactly `pip install -e .`) ever misbehaves, it is
53-
probably due to this: https://github.com/pypa/pip/issues/7953.
54-
55-
Run below command once and then again `make install`, this fixed it last time:
56-
57-
```bash
58-
python3 -m pip install --prefix=$(python3 -m site --user-base) -e .
59-
```
60-
61-
#### Test for version check fails
62-
63-
This happens if the `make install-dev` command was not run before running `make test`.
1+
# East - tool for building NCS/Zephyr applications
2+
3+
East is a command line meta-tool, useful for creating, managing, and deploying
4+
[Zephyr] or [nRF Connect SDK] (NCS) projects.
5+
6+
[zephyr]: https://docs.zephyrproject.org/latest/
7+
[nrf connect sdk]:
8+
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/introduction.html
9+
10+
It is built on top of Zephyr's RTOS meta-tool [West] and Nordic's [nRF Connect
11+
Toolchain Manager].
12+
13+
[west]: https://github.com/zephyrproject-rtos/west
14+
[nrf connect toolchain manager]:
15+
https://github.com/NordicSemiconductor/pc-nrfconnect-toolchain-manager
16+
17+
## Reasoning behind East
18+
19+
There are several reasons why someone would like to create yet another tool on
20+
top of `west`:
21+
22+
- Working on several projects at once means using different versions of the NCS
23+
repository and different versions of the toolchain. Managing these differences
24+
is not a trivial task.
25+
- There is no reproducible build guarantee between the developer's machines.
26+
Slight differences between tool versions can manifest into hard-to-find bugs.
27+
- Creating GitHub releases manually takes ages as you have to run the build
28+
process for every combination of the board, application, build variant, etc.
29+
and properly rename the release binary. The release procedure gets longer with
30+
every addition of new hardware and build variation option.
31+
32+
East automates the above tasks and tries to make the developer more productive.
33+
34+
## Key features
35+
36+
- Automated detection and installation of tooling required for NCS projects.
37+
- Common `west` commands used for the development, such as `build`, `flash`,
38+
etc.
39+
- Sandboxed development environment, thanks to the nRF Connect Toolchain
40+
Manager, every `build`, `flash`, etc. command runs inside of its toolchain
41+
environment.
42+
- Automated process of generating release artefacts for your entire project, no
43+
matter the number of applications, samples or boards.
44+
- Support for build types, which is integrated into the usual build process.
45+
- RTT utility commands to connect and see the RTT stream.
46+
47+
## Documentation
48+
49+
`docs` directory contains several markdown documents about East:
50+
51+
- [Getting stared] - Quickly setup an example project and get it building with
52+
East.
53+
- [How East works] - How East works under the hood and what to expect from it.
54+
- [Configuration] - How to configure build types and release procedure via
55+
`east.yml` file.
56+
- [Development guide] - How to setup development environment for working on
57+
East.
58+
59+
[getting stared]: docs/getting_started.md
60+
[how east works]: docs/how_east_works.md
61+
[configuration]: docs/configuration.md
62+
[development guide]: docs/development_guide.md

docs/development_guide.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Developing East
2+
3+
## Table of Contents
4+
5+
<!-- vim-markdown-toc GFM -->
6+
7+
- [Setup](#setup)
8+
- [Running unit tests](#running-unit-tests)
9+
- [Formatting](#formatting)
10+
- [Known issues](#known-issues)
11+
- [Editable install does not work](#editable-install-does-not-work)
12+
- [Test for version check fails](#test-for-version-check-fails)
13+
14+
<!-- vim-markdown-toc -->
15+
16+
## Setup
17+
18+
To develop and test `east` the use of `virtualenv` virtual environment is highly
19+
recommended.
20+
21+
Additionally, `makefile` file in the root directory contains most common
22+
commands for interacting with the project.
23+
24+
1. Install `virtualenv`:
25+
26+
```bash
27+
pip install virtualenv
28+
```
29+
30+
2. Create and activate `virtualenv`, run this from the project root directory:
31+
32+
```bash
33+
virtualenv venv
34+
source venv/bin/activate
35+
```
36+
37+
3. To create an editable install of `east` tool run the below command. Whatever
38+
change you make in the code will be immediately reflected if you run `east`
39+
on the command line afterwards.
40+
41+
```bash
42+
make install-dev
43+
```
44+
45+
## Running unit tests
46+
47+
To run unit tests:
48+
49+
```bash
50+
make test
51+
```
52+
53+
## Formatting
54+
55+
To format the project run:
56+
57+
```bash
58+
make format
59+
```
60+
61+
## Known issues
62+
63+
### Editable install does not work
64+
65+
If `make install` or `make install-dev` (more exactly `pip install -e .`) ever
66+
misbehaves, it is probably due to this: https://github.com/pypa/pip/issues/7953.
67+
68+
Run the below command once and then again `make install`, this fixed it last
69+
time:
70+
71+
```bash
72+
python3 -m pip install --prefix=$(python3 -m site --user-base) -e .
73+
```
74+
75+
### Test for version check fails
76+
77+
This happens if the `make install-dev` command was not run before running
78+
`make test`.

0 commit comments

Comments
 (0)