Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I have been a co-maintainer of .NET OSS library Marten and largely involved in taking care of the DevOps stuff pertaining to CI pipeline, build and docs system. In the early days, the build was driven using a RAKE build script written by Jeremy Miller, our lead dev and creator of Marten. NuGet packages were published from the local dev machine after confirming that we had bumped up the versions of the packages in preparation for the release. Apparently, this being a manual step, we publish the NuGet packages but sometimes tend to forget tagging and creation of release in GitHub (you know how an OSS author life is around managing day job and doing open source work).
We were also using AppVeyor for CI during the early periods of the library and I managed to add a step at the end of the CI pipeline to do a NuGet publish, when a tag was created in GitHub. This completely removed any human error or any inadvertent omissions due to lack of time etc. This worked well for us other than the occasional NuGet publish failures due to expired API key. We had to jump into AppVeyor dashboard to see what was going on and fix things. Eventually, we migrated all the CI builds to use GitHub actions so that we can lookup things all in one-place without logging into different systems. This is a huge convenience and time saver for us. We settled on doing a manual GitHub action trigger (user invoked) especially for publishing NuGet packages rather than keep it automated so that we can inspect and keep an eye on the NuGet publish as it happens after we tag and add a release in GitHub.
I have been a co-maintainer of .NET OSS library Marten and largely involved in taking care of the DevOps stuff pertaining to CI pipeline, build and docs system. In the early days, the build was driven using a RAKE build script written by Jeremy Miller, our lead dev and creator of Marten. NuGet packages were published from the local dev machine after confirming that we had bumped up the versions of the packages in preparation for the release. Apparently, this being a manual step, we publish the NuGet packages but sometimes tend to forget tagging and creation of release in GitHub (you know how an OSS author life is around managing day job and doing open source work).