So far, we have reviewed how to review code with ES Lint + Prettier and Typecheck, how to set up and run smoke tests, how to run all Playwright + TypeScript tests, and reviewed the HTML report of results.
In this post, we are going to set up a three stage GitLab CI/ CD pipeline that will run against every merge request:
- Quality (lint, typecheck, prettier) --> Test ( smoke + regression ) --> Report ( Downloadable )
I haven't used GitLab since when I worked at ThreatStack back in 2020. ( See my blog entry Getting to Know GitLab and How They Test the UI )
Stages run one after another, and jobs within a stage run in parallel. If one stage fails, the stages after it are skipped.
This begs the question: What is GitLab? What is CI/ CD? Or a pipeline? Or a merge request?