The project is hosted on GitHub:
To clone the stable branch (xpack
), run the following commands in a
terminal (on Windows use the Git Bash console):
rm -rf ~/Work/micro-os-plus/cmsis-os-xpack.git && \
mkdir -p ~/Work/micro-os-plus && \
git clone \
https://github.com/micro-os-plus/cmsis-os-xpack.git \
~/Work/micro-os-plus/cmsis-os-xpack.git
For development purposes, clone the development branch (xpack-develop
):
rm -rf ~/Work/micro-os-plus/cmsis-os-xpack.git && \
mkdir -p ~/Work/micro-os-plus && \
git clone \
--branch xpack-develop \
https://github.com/micro-os-plus/cmsis-os-xpack.git \
~/Work/micro-os-plus/cmsis-os-xpack.git
A recent xpm, which is a portable Node.js command line application.
To run the native tests, a C++ development environment is required.
On macOS install Command Line Tools, on Ubuntu build-essential
.
Code formatting is done using clang-format --style=file
, either manually
from a script, or automatically from Visual Studio Code, or the Eclipse
CppStyle plug-in.
Always reformat the source files that were changed.
There are no fixed releases.
In the micro-os-plus/cmsis-os-xpack
Git repo:
- switch to the
xpack-develop
branch - if needed, merge the
xpack
branch
No need to add a tag here, it'll be added when the release is created.
Determine the upstream version (like 4.0.0
) and eventually update the
package.json
file; the format is 4.0.0-pre
.
Check GitHub issues and pull requests:
and fix them; assign them to a milestone (like 4.0.0
).
Update the README-MAINTAINER.md
file to reflect the changes
related to the new version.
- open the
CHANGELOG.md
file - check if all previous fixed issues are in
- add a new entry like * v4.0.0
- commit with a message like prepare v4.0.0
- reformat the source files that were changed
- commit and push
To run the tests manually on the local machine:
xpm run install-all -C ~/Work/micro-os-plus/cmsis-os-xpack.git
xpm run test-all -C ~/Work/micro-os-plus/cmsis-os-xpack.git
- select the
xpack-develop
branch - commit all changes
npm pack
and check the content of the archive, which should list onlypackage.json
,README.md
,LICENSE
,CHANGELOG.md
, the sources and CMake/meson files; possibly adjust.npmignore
npm version patch
,npm version minor
,npm version major
- push the
xpack-develop
branch to GitHub - the
postversion
npm script should also update tags viagit push origin --tags
- wait for the CI job to complete (https://github.com/micro-os-plus/cmsis-os-xpack/actions/workflows/ci.yml)
npm publish --tag next
(usenpm publish --access public
when publishing for the first time)
The version is visible at:
When the package is considered stable:
- with a Git client (VS Code is fine)
- merge
xpack-develop
intoxpack
- push to GitHub
- select
xpack-develop
When the release is considered stable, promote it as latest
:
npm dist-tag ls @micro-os-plus/cmsis-os-xpack
npm dist-tag add @micro-os-plus/cmsis-os-xpack@2.0.1 latest
npm dist-tag ls @micro-os-plus/cmsis-os-xpack