GitHub Actions and CI/CD Workflows

GitHub Actions provides event-driven CI/CD automation directly integrated into GitHub repositories. Workflows automate build, test, and deployment processes, eliminating the need for external CI systems while leveraging GitHub’s tight integration with source code and pull requests.

GitHub Actions Architecture

Workflows and Jobs define automated processes triggered by repository events like pushes, pull requests, or scheduled intervals. Workflows compose multiple jobs that run in parallel or sequentially, each executing steps in isolated runner environments.

Actions Marketplace provides reusable actions for common tasks: checking out code, setting up build environments, publishing packages, deploying applications, and integrating with external services.

Security and Secrets management enables secure access to credentials, API keys, and deployment tokens through encrypted secrets and environment protection rules.

Practical Implementation

Articles in this section cover workflow design patterns, composite actions for reusability, matrix builds for testing across platforms, deployment strategies, and optimization techniques for faster pipelines. Topics include caching strategies, self-hosted runners, and debugging workflow failures.

The goal is reliable, maintainable CI/CD automation that provides fast feedback without becoming a maintenance burden through overcomplicated workflows or unnecessary abstraction.

.NET 10 Testing: Microsoft Finally Fixed the Test Runner (Mostly)

.NET 10 Testing: Microsoft Finally Fixed the Test Runner (Mostly)

.NET 10 replaces VSTest with Microsoft.Testing.Platform, bringing SDK-integrated testing with faster discovery, consistent behavior across environments, and explicit configuration contracts. But it requires .NET 10, breaks old test adapters, and demands CI pipeline discipline. Here’s what actually changes, who should migrate now, and who should wait.
Master dependency management with automation: story behind `dependamerge`

Master dependency management with automation: story behind `dependamerge`

In software development, dependencies are inevitable - any project worth its salt relies on various libraries, frameworks, or packages. However, as I found in my own work, managing these dependencies can be an onerous task. Constant updates, new vulnerabilities, and endless manual approvals were draining my time and focus. What if, I thought, these processes could be automated? This thought led to the creation of dependamerge, a GitHub Action designed to free developers from the drudgery of manual dependency maintenance and let us get back to what we do best: building great software.