Skip to content

mjovanc/hugin-cli

Repository files navigation

Hugin CLI

Hugin CLI Main Pipeline

A private messaging CLI based Hugin Messenger. Powered by the Kryptokrona Blockchain.

Table of Contents

Development Resources

Testing

Unit testing

We use CUnit for the unit testing of this project. The unit tests are located in dir test with the same structure as the file being tested includes in.

CI/CD

This project is automatically built, tested and deployed using GitHub Actions. We have two pipelines:

  • Main Pipeline - This is the pipeline that runs the code merged into our master branch.
  • Pull Request Pipeline - This is the pipeline that runs each time a pull request come in so the reviewer has some help evaluating if the code is good enough to be merged.

The Main Pipeline do everything the Pull Request Pipeline does in addition to building and publishing a Docker Image to the project tagged by the project name, owner, repository and short form of commit SHA value. We also setup continuous deployment so if all the steps succeed and if tagged with a release it will publish to various package managers such as APT, Snapcraft etc.

Checklist before release

  1. Edit the file in config/version.h and bump up the version.
  2. Update the release in this README in the Releases section and set YES on "Released", add the release if it doesn't exists in the table.
  3. Create PR and wait for review + merge.
  4. Create a tag on master git tag v*.*.*
  5. Push the changes git push origin <tag_name> to trigger a new build and to publish to various package managers.

Contribute

Pull request

We appreciate all contributions whether it be small changes such as documentation of source code to major improvement of code. The easiest way is to make a fork and then make a pull request into our master branch.

Contributors

The following contributors have either helped to start this project, have contributed code, are actively maintaining it (including documentation), or in other ways being awesome contributors to this project. We'd like to take a moment to recognize them.

mjovanc

License

The license is BSD-3 License.

Releases

No releases published

Packages

No packages published

Languages