Share
Explore

f24 CSD 4503 Asignment 4 Delivery Document


megaphone

Note: This lab which we did in class is your training to deliver these steps:

Assignment 4 Instruction Sheet

Title: CI/CD Pipeline Demonstration with GitHub Actions and Jest

Objective:

Students will demonstrate their understanding of CI/CD concepts by setting up a basic pipeline using GitHub Actions and Jest. The focus will be on automating testing and ensuring functional integration with GitHub.

Project Description:

As the culmination of the course, students will create a simple CI/CD pipeline for their JavaScript application. The project emphasizes testing, automation, and documentation. The final deliverable will be the GitHub repository URL, showcasing the pipeline's functionality.

Tasks:

Refactor the Application:
Use the JavaScript application developed in Assignment 1.
Ensure it meets coding and functional requirements.
Set Up CI/CD Pipeline:
Create a GitHub Actions workflow (.github/workflows/main.yml) that:
Runs Jest tests on each commit or pull request to the main branch.
Outputs success or failure messages in the console.
Test the Workflow:
Ensure that:
Jest tests run automatically when a commit is pushed.
The pipeline correctly passes or fails based on test results.
Documentation:
Add a README.md file to the repository, including:
A brief description of the project.
Steps to set up and test the CI/CD pipeline.
Screenshots of the pipeline's output on GitHub.

Grading Rubric:

Table 1
Category
Points
Criteria
1
Application Functionality
20
The application runs correctly, with Jest tests passing locally.
2
CI/CD Pipeline
40
A functional GitHub Actions workflow that runs Jest tests on commits and pull requests, with accurate pass/fail feedback in the console.
3
Documentation
30
Clear and professional README.md file detailing the pipeline and project setup.
4
Professionalism
10
Clean code, organized repository, and proper Git usage (e.g., meaningful commit messages).
There are no rows in this table
Total: 100 points

Submission Instructions:

Push the completed project to a GitHub repository.
Include:
A functional .github/workflows/main.yml file.
A comprehensive README.md file.
Submit the repository URL.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.