Hello everyone,
Today, I would like to share the project I have been working on as part of my master thesis in collaboration with https://stritzinger.com/ and gather some feedback from the community about it.
This project is called HotCI and is inspired by GitHub - ferd/dandelion: A weed is a plant considered undesirable in a particular situation, "a plant in the wrong place". Taxonomically, the term "weed" has no botanical significance, because a plant that is a weed in one context is not a weed when growing in a situation where it is wanted. .
HotCI is a Github template that includes three Github actions workflows. GitHub - Ahzed11/HotCI: Run unit tests, hot code upgrade tests and build releases thanks to Github actions. For usage see:
The first one performs analysis with xref and dialyzer and launches the applications’ unit tests.
The second workflow builds both the previous and the current release and launches the upgrade_downgrade_SUITE, a test suite designed to test upgrades and downgrades. This test suite leverages the peer module to start a Docker container containing both releases. The peer module also allows interactions with the container such as modifiying its state via functions calls and applying upgrades or downgrades.
The third workflows, when triggered, builds the project’s release and publishes it as a Github Release.
My biggest contribution lies in the second workflow. Finding a way to make the upgrade_downgrade_SUITE work was not trivial as an Erlang beginner. The first version used bash scripts interacting with the executable generated by rebar3, the second version used Robot Framework and the third and final one uses Common Test.
- Testing Erlang/OTP Dynamic Software Updates with Robot Framework | Alexandre Zenon
- Testing Erlang/OTP Dynamic Software Updates with Common Test | Alexandre Zenon
If you want to see this template in action, I have created an example usage repository that showcases the use of this template and explains the operations that have been applied in the repository in a written, step-by-step, manner. GitHub - Ahzed11/HotCI-usage-example: Demonstrates how to use HotCI
I am looking for people who would be interested in participating in the evaluation of this tool. The evaluation includes trying the template yourself in a new or old repository, giving feedback on the available documentation, reporting bugs, etc…
Of course, if you decide to take part in the evaluation, you are not requested to do all these actions. For instance, simply giving a look at the usage example repository and giving your opinion about the workflow is already greatly appreciated !
Because I will post this message on different platforms, I have created a form to centralize the feedback. Microsoft Forms
However, feel free to contact me via other means such as replies in a thread, private messages, Github issues, etc…
Thank you in advance for your time and interest,
Have a nice weekend and week !