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/devices-qemu-riscv-xpack.git && \
mkdir -p ~/Work && \
git clone \
https://github.com/micro-os-plus/devices-qemu-riscv-xpack.git \
~/Work/devices-qemu-riscv-xpack.git
For development purposes, clone the xpack-develop
branch:
rm -rf ~/Work/devices-qemu-riscv-xpack.git && \
mkdir -p ~/Work && \
git clone \
--branch xpack-develop \
https://github.com/micro-os-plus/devices-qemu-riscv-xpack.git \
~/Work/devices-qemu-riscv-xpack.git
A recent xpm, which is a portable Node.js command line application.
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/devices-qemu-riscv-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 1.0.1
) and update the package.json
file; the format is 1.0.1-pre
.
Check GitHub issues and pull requests:
and fix them; assign them to a milestone (like 1.0.1
).
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 * v1.0.1
- commit with a message like prepare v1.0.1
- reformat the source files that were changed
- commit and push
To run the tests manually on the local machine:
cd ~Work/devices-qemu-riscv-xpack.git
xpm run install-all
xpm run test-all
- 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/devices-qemu-riscv-xpack/actions/workflows/CI.yml)
npm publish --tag next
(usenpm publish --access public
when publishing for the first time)
The version is visible at:
In addition, it is possible to manually trigger a test-all job, that runs all available builds, on all supported platforms, including Linux Arm and macOS Apple Silicon.
For this, run the trigger-workflow-test-all
action before publishing.
Wait for the test-all job to complete (https://github.com/micro-os-plus/devices-qemu-riscv-xpack/actions/workflows/test-all.yml)
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/devices-qemu-riscv
npm dist-tag add @micro-os-plus/devices-qemu-riscv@1.0.1 latest
npm dist-tag ls @micro-os-plus/devices-qemu-riscv