This week we were joined by Carter Capocaccia, Senior Engineering Manager of Quality Automation at Hilton, for an illuminating webinar where the he demystified the intricacies of setting up CICD workflows and integrating quality automation, using GitHub Actions, Cypress, and Vercel. Here are the top five takeaways from that insightful session:
1. Understanding CI/CD: The Foundation of Quality Automation
Continuous Integration (CI) and Continuous Delivery (CD) form the backbone of efficient development workflows. Key to quality automation, CI is all about updating your centralized branch of code incessantly while CD is centered around delivering this code automatically to the end users. By setting up CI/CD workflows, the actions initiated when a developer submits a merge request can involve quality checks resulting in either code deploying or guiding the developers for further iterations.
2. The Power of Quality Automation
What really reason with us was how quality automation was positioned as a non-negotiable element in the development lifecycle. This doesn't just improve the quality but offers actionable feedback to developers resulting in a more streamlined workflow. It's time to shun processes that take an hour or two to execute, instead, focus on procedures that provide fast, and up-to-date feedback for effective decision-making.
3. The Shift Left Approach
Carter introduced a concept that is near and dear to Cypress, "shift left" – integrating automation code with UI code to enhance the product quality. This approach ensures that testing is initiated early in the development process, identifying issues, and mitigating them even before the deployment phase. “Shift left is real. Do it. Stop waiting on this.”
4. The Ease of Tools like GitHub Actions, Vercel, and Cypress
GitHub Actions, Vercel, and Cypress were mentioned as vital tools for setting up a CI/CD pipeline. Preview environments and quality checks before production deployment were heavily emphasized. Carter demonstrated the configuration of GitHub Actions via YAML files and how to run Cypress tests in a pipeline using GitHub Actions effortlessly. The debugging capabilities of Cypress allowing the inspection of elements, network requests, and logs were also highlighted.
5. Masterclass in Handling PR Checks and CI/CD Pipelines
Carter offered some brilliant insights in PR checks and CI/CD pipelines, stressing that there is no standard protocol, instead, decisions should be based on risk tolerance and developer experience. "Nightly pipelines are not the enemy. If they are the only thing that you have, then there are better ways of work. But if you want to use it in conjunction with other testing strategies, that's fantastic." This pragmatic approach takes into account the vital balance between security, efficiency, and speed that organizations must strike.
The webinar could well be summed up by a quote from the Carter who said, "CI/CD and including quality automation is way easier than you think". The session reaffirmed our belief in the integration of various tools in CI/CD pipelines and the critical role of effective testing in efficient deployment processes. So for those of you who quiver at the prospect of setting up a development pipeline, believe us, it's easier and cheaper than you think!
It goes without saying that Continuous Integration, Continuous Delivery are powerful techniques, and when adopted with the right tools and strategies can bring significant value in shortening the development lifecycle and speeding up the process of deploying high-quality software applications.