January 2024 Summaries
3 posts from Aviator
Filter
Month:
Year:
Post Summaries
Back to Blog
The text discusses the importance of faster feedback loops in software development, particularly in agile development and CI/CD workflows. It highlights the need for pre-merge and post-merge tests to maintain system health, but acknowledges that running all tests can be time-consuming and slow. The authors propose dividing tests into "pre-Merge" and "post-Merge" buckets, with faster pre-merge tests catching bugs early and more stable post-merge tests ensuring code health after deployment. They also introduce the concept of a merge queue, which acts as a gatekeeper, managing code merges and orchestrating the deployment process. The merge queue validates changes before merging them into mainline, allowing for fast feedback to developers while maintaining system stability. This approach improves developer productivity by providing faster feedback loops and reducing the impact of failed tests on the development cycle.
Jan 18, 2024
1,056 words in the original blog post.
Kluctl is a powerful command-line tool designed to manage Kubernetes deployments, providing a declarative approach to deployment management. It can be used to deploy, diff, prune, delete, and manage various deployments seamlessly. Kluctl excels at orchestrating both your own deployments and those of third-party tools. The tool uses a unified interface to manage multiple environments, such as development, testing, staging, and production. It relies on commonLabels to distinguish resources associated with the presently processed deployment or target. The tool can be used locally or installed directly onto a Kubernetes cluster for convenient access and control. Kluctl emerges as a valuable tool for managing applications across multiple environments, ensuring consistency and smooth transitions from development to production.
Jan 16, 2024
1,104 words in the original blog post.
Nx is a popular open-source build system optimized for monorepos that comes with built-in tooling and advanced CI capabilities. It supports most of the popular frontend frameworks like React, Vue, node.js, Angular, NextJS, and has recently added support for non-Javascript languages such as Java, C#, Go, etc. Nx provides a handy CLI tool called `affected` to calculate the targets affected between two Git SHAs, allowing teams to split the queue into multiple disjoint queues when using MergeQueue in large monorepos. To pass the affected targets to MergeQueue automatically, GitHub Actions can be used to fetch the base SHA and head SHA of a PR, use Nx CLI to pull affected targets based on these SHAs, and send this information to Aviator's server for queue selection. This enables teams to scale their MergeQueues to thousands of daily merges without breaking the builds.
Jan 09, 2024
878 words in the original blog post.