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
Application Functionality
20
The application runs correctly, with Jest tests passing locally.
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.
Documentation
30
Clear and professional README.md file detailing the pipeline and project setup.
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.