I have a number of personal projects with code scattered about, where if I want to include code from one project into another I generally either need to copy code or find more sophisticated ways to share.
After going through interviewing coop student candidates and seeing their projects and GitHub repositories (when provided) I realized that documenting the process and demonstrating the value you can get out of it would be substantial.
The motivation for me is to take my projects to a higher level of rigour and improve reuse. Furthermore, I want to automate builds, validation by content tests, notifications, etc.
I do use GitHub for storing my projects which are primarily in C# but I want to amp up my setup to another level. The feature I want are:
- Get my projects from GitHub
- Build them
- Run tests on them
- Post main branch builds to a NuGet repository
- Post main branch symbols to a symbol server
- Generate notifications to Slack (I have my own setup for the family) about build status.
I already have a machine I use locally for service-related work. Switching to Linux would be non-trivial due to some of the services being run.
So the following setup will be using Windows, but I don’t think it will be entirely dissimilar to Linux.
The software I’m looking at using for all of these are:
Anything else that comes up during setup will be documented along the way.