Cayter Goh’s Post

View profile for Cayter Goh, graphic

Co-Founder & CTO @ Ajourney (YC S22) - Automate your HR and payroll | ex-Rapyd | ex-Grab

At Ajourney (YC S22), we recognized early on that CI (Continuous Integration) could become a productivity bottleneck if not properly planned. Here’s the playbook we follow: - Utilize Postgres Template Database: We test against a real database to catch real-world cases. - Utilize Vitest Shards: Automatically distribute test cases among N CI jobs. As of today, we have 2,295 unit test cases, each testing against 𝐚 𝐫𝐞𝐚𝐥 𝐢𝐬𝐨𝐥𝐚𝐭𝐞𝐝 𝐝𝐚𝐭𝐚𝐛𝐚𝐬𝐞, which: - Takes about 2.6 minutes to complete locally. - Takes about 6 minutes to complete in CI. Without these optimizations, we would face over 30 minutes of waiting time for each deployment. We're glad we planned ahead. Can this be improved? Absolutely. Engineering is about continuous improvement.

  • No alternative text description for this image
Adrian Goh Jun Wei

Co-Founder at NodeFlair (S22) | adriangohjw.com

1mo

You can get it down to zero minutes if you delete all the tests

Mudasir Hussain

Engineering Manager - SDET

1mo

Cayter Goh Do you only run unit tests, or others tests like UI smoke and API smoke also run

Like
Reply
Yangshun Tay

GreatFrontEnd | Ex-Meta Staff Eng | Created Blind 75 | Follow for Software Engineering, Front End and Design Systems content

1mo

Good thing: My tests complete running in under a minute. Bad thing: I only have 5 tests.

John Wee

Pivoting from Software Engineering to Forge a Future in Data Engineering

1mo

Thanks for sharing this Cayter Goh . Its v insightful If u dm sharing when u test against a real isolated db did u create mock data or replicate the data from dev to test.

Like
Reply
Ke Pan

Software Engineer at Spenmo

1mo

Wow thousands of unitest, gamma didn’t have so many 😜

See more comments

To view or add a comment, sign in

Explore topics