Skip to content

Commit

Permalink
Merge pull request #703 from Netcracker/feature/release-guide
Browse files Browse the repository at this point in the history
[CPREQ-10101] Add newcomer docs
  • Loading branch information
theboringstuff authored Nov 15, 2024
2 parents cffc644 + d691f75 commit 0e9f9d5
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ Results:
### Checklist
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] There is no breaking changes, or migration patch is provided
- [ ] Integration CI passed
- [ ] Unit tests. If Yes list of new/changed tests with brief description
- [ ] There is no merge conflicts
Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,20 @@ Kubemarine is an open source, lightweight and powerful management tool built for
- Package extension with [open extension API](documentation/PackageExtension.md)
- Support different deployment schemes (all-in-one, mini-HA, HA, and so on)

## Repository structure

There are following key locations in the repository

| Paths | Description |
| ----- | ----------- |
| `.github/workflows/`, `ci/` | Contain GitHub Actions configuration which runs unit/integration tests, builds/publishes artifacts, etc |
| `documentation/`, `examples/`, `README.md` | Contain documentation and examples |
| `kubemarine/` | Contains source code for KubeMarine python package |
| `test/` | Contains tests |
| `bin/`, `scripts/ci/` | Contains auxiliary scripts used during KubeMarine build |
| `scripts/thirdparties/` | Contains auxiliary script used to update KubeMarine thirdparties versions |
| `Dockerfile`, `kubemarine.spec`, `MANIFEST.in`, `pyproject.toml`, `requirements-pyinstaller.txt`, `setup.py` | Different files used to build KubeMarine artifacts (image, binaries, package) |

## Kubemarine Binary Installation
Proceed the following steps to install Kubemarine on your environment:
1. Download the binary file for your system from the latest [release](https://github.com/Netcracker/KubeMarine/releases)
Expand Down Expand Up @@ -174,6 +188,10 @@ Also, check out the following inventory examples:
- [cluster.yaml](examples/cluster.yaml)
- [procedure.yaml](examples/procedure.yaml)

For maintainers and developers there is useful [internal documentation](/documentation/internal/), for example:
* [How to write patches](/documentation/internal/Patches.md)
* [How to make new release](/documentation/internal/Release.md)

## Issues, Questions
If you have any problems while working with Kubemarine, feel free to open a [new issue](https://github.com/netcracker/kubemarine/issues) or even
[PR](https://github.com/netcracker/kubemarine/pulls) with related changes.
Expand Down
14 changes: 14 additions & 0 deletions documentation/internal/Release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Releasing KubeMarine

If you want to make a new KubeMarine release, you need to do following:
1. On the `main` branch, update KubeMarine version and create tag (replace `X.X.X` with actual version):
```
python3 -m pip install bumpver
python3 -m bumpver update --set-version=X.X.X
```
2. Wait for [GitHub Actions](https://github.com/Netcracker/KubeMarine/actions) completion and verify newly create pre-release on [GitHub Release page](https://github.com/Netcracker/KubeMarine/releases). Following artifacts are essential for each release:
* KubeMarine binaries for different OS. They could be found in release assets.
* KubeMarine python distribution package. It could be found in release assets.
* [KubeMarine image](https://github.com/Netcracker/KubeMarine/pkgs/container/kubemarine).
* [Kubemarine documentation](https://github.com/Netcracker/KubeMarine/tree/main/documentation).
3. Once you have verified that KubeMarine artifacts are OK, change your release from `pre-release` to `latest release` on [GitHub Release page](https://github.com/Netcracker/KubeMarine/releases). This will publish KubeMarine distribution package to PyPI.

0 comments on commit 0e9f9d5

Please sign in to comment.