cse110-fa22-group29/admin/cipipeline/phase1.md

40 lines
1.7 KiB
Markdown
Raw Normal View History

# CI/CD Phase 1
2022-11-11 08:18:53 +00:00
## Overall Pipeline Architecture
Rather than create one large pipeline with many steps which increases complexity, we decided to create many small independent pipelines which work in parallel to conduct code quality checking. Using this strategy, if any one pipeline has issues, we can still continue development without delay, and the quality of code is likely to remain high.
## Overview of Pipeline Features
2022-11-11 08:18:53 +00:00
We've identified 5 major features which we definitely want to implement in the CI/CD pipeline.
- Deployment
- Unit Testing
- Linting
- End To End Validation
- Manual Validation
2022-11-11 08:18:53 +00:00
We created this diagram to demonstrate our strategy of multiple simple pipelines.
![Pipeline Diagram](phase1.drawio.png)
## Finished Features and Implementation
2022-11-11 08:18:53 +00:00
So far the features listed below have been completed to some degree:
- Deployment
- Implemented: action triggered on any push to main, uses the github pages action to publish the app
- ToDo: Add minifications ste between trigger and github pages action
- Unit Testing
- Implemented: action triggers on any PR, uses mocha to perform unit testing on core components
- ToDo: trigger workflow only on certain PRs which relate to JS code
- Linting (JS)
- Implemented: ction triggers on any PR, uses eslint to perform style enforcement on all JS components
- ToDo: trigger workflow only on certain PRs which relate to JS code
2022-11-13 22:45:42 +00:00
- Linting (HTML)
- Implemented: action triggers on any PR, uses HTMLhint to perform style enforcement on all HTML components
- Linting (CSS)
- Implemented: action triggers on any PR, uses Stylelint to perform style enforcement on all CSS components
2022-11-11 08:18:53 +00:00
2022-11-13 22:45:42 +00:00
## Planned Features and Timeline