Building Hasura - CI/CD and the story of a monorepo
In this blog post, the author shares the story of Hasura's monorepo and internal tooling that facilitates day-to-day engineering work. The Hasura monorepo was created to keep the open source version (OSS) and commercial codebases in sync. Previously, there were two GitHub repositories for OSS and pro versions of graphql-engine. However, as the team scaled and the frequency of commits increased, it led to problems such as breaking changes and delays in identifying issues. The birth of the monorepo aimed to improve the workflow by preserving histories from multiple repositories and ensuring that nothing was merged into OSS without first testing the pro codebase. Google's open-source tool called copybara was used for this purpose, but it had some limitations. GitHub Actions were employed for automation tasks such as shadowing commits between monorepo and OSS repo. The author concludes by expressing interest in hearing about other tools and workflows that could help improve the engineering productivity at Hasura.
Company
Hasura
Date published
April 22, 2021
Author(s)
Vishnu Bharathi
Word count
1417
Language
English
Hacker News points
None found.