While was developing the AREG SDK, I spent lot of time to look for various workflow actions to automate build and test run. I've seen many examples and experiments and finally decided to share my with others. These workflows for sure are not the optimal, it is out of the agenda, but I hope it is a good practice. Let's say, this is kind of playground.
I've used areg-sdk-demo template repository, it compiles with CMake, Make (planned), Microsoft Visual Studio and compiles with Windows Subsystem for Linux (WSL). In addition, it has areg-sdk as a submodule and has google tests. So, it has enough complication.
To clone the repository, follow these steps in your desired directory (such as the projects
directory):
-
Run the following command to clone the repository and its submodules:
git clone --recurse-submodules https://github.com/aregtech/cpp-action-workflows.git
It is important to clone the AREG SDK submodule as well. This command ensures that both the main repository and its submodule are cloned.
-
If you have already cloned the main repository but missed cloning the submodule, you can update the submodules separately by running the following command:
git submodule update --init --recursive
This command initializes and updates the submodules within the repository.
-
The AREG SDK also has dependencies on Google Unit Test, which is automatically cloned with the AREG SDK sources. To update to the latest submodule sources, use the following git command:
git submodule update --remote --recursive
This command updates the submodules, including the Google Unit Test submodule, to the latest version.
The workflows are located in the .github/workflows directory. I'll periodically add and/or update them.
The files and sources in this repository are provided under the MIT License. They are offered without any warranty or restriction, allowing you the freedom to use them in any kind of project.