-
Notifications
You must be signed in to change notification settings - Fork 2
Palindrome.js GitLab CI Pipeline
This section outlines the structure and functionality of the GitLab CI/CD pipeline for Palindrome.js. The pipeline consists of three stages: Build, Test, and Deploy. Each stage performs specific tasks related to the development, testing, and deployment of the Palindrome.js application.
The Test stage contains five jobs:
-
Benchmark job: Runs a benchmark over the Palindrome.js project to compare the FPS and the milliseconds needed to render a frame for an execution with web workers and another one without.
-
Benchmark-test job: Performs evaluation based on benchmark results (more details about web workers benchmark and evaluation can be found here).
-
Cypress-test job: Performs Cypress integration tests in two runs:
- First run: Captures screenshots.
- Second run: Compares the captured screenshots with new ones.
-
Initial-remote-data-benchmark job: Measures the initial render time of remote data use cases. Results are logged in the console.
-
Remote-data-update-multiviewport-benchmark job: Benchmarks frontend vs backend query times for remote data use cases. Results are logged in the console (more details about this type of benchmark can be found here).
The Build stage contains two jobs:
-
Build-dev job: Builds the dev environment and exports the
dist
folder as a job artifact. -
Build-storybook job: Builds the Storybook environment and exports the
storybook-static
folder as a job artifact.
The Deploy stage contains three jobs:
- Pages job: Deploys Palindrome.js to GitLab Pages.
- Gh-pages job: Deploys Palindrome.js dev and Storybook environments to GitHub Pages.
- Mirror-wiki job: Mirrors the GitLab wiki to the GitHub wiki.