Skip to content

Commit

Permalink
doc/developer: add release docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Wenzel committed Jul 29, 2021
1 parent 13a81f7 commit 92faf57
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@
# Developer

- [Python](./developer/python.md)
- [Release](./developer/release.md)
25 changes: 25 additions & 0 deletions doc/src/developer/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Release Management

libmicrovmi project release is handled in the [CI](https://github.com/Wenzel/libmicrovmi/blob/master/.github/workflows/ci.yml), on Github Actions.

If a commit is pushed with a tag matching `v*`, the `release` job of the CI is executed,
as well as all jobs depending on it.

Release CI related jobs

- `release`: create a Github release
- `release_debian`: add a Debian package to the Github release
- `release_book`: build and publish the book
- `publish`: publish the crate on crates.io
- `publis_pypi`: publish the Python bindings on PyPI

## How to make a new release

Release and tags are managed using the [cargo-release](https://github.com/sunng87/cargo-release) tool.

~~~
$ cargo release --no-dev-version --workspace <patch / minor / major> # will publish both libmicrovmi and the python bindings
~~~

Note: `cargo-release` can handle the publication on crates.io, but we prefer to manage everything in one place, using the CI.
Therefore, publishing has been explicitely disabled in `Cargo.toml` for this tool, so no mistakes can happen.
4 changes: 4 additions & 0 deletions python/release.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# cargo-release config file

# don't create pymicrovmi-vxxx tag
disable-tag = true
4 changes: 4 additions & 0 deletions utilities/release.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# cargo-release config file

# internal crate, skip release process
disable-release = true

0 comments on commit 92faf57

Please sign in to comment.