Lab 2: Automation#
Software Engineering as a Layered Technology, developed by IEEE, illustrates how different aspects of software engineering build upon one another to form a cohesive framework.
The tools layer plays a vital role by providing the semi-automated and automated tools that support software engineering projects. Automation tools represent a key part of this layer, enabling systematic execution of repetitive tasks and ensuring consistent software quality across development cycles.
Important
Engineering labor costs typically represent 60-80% of total software project expenses, dwarfing infrastructure, tooling, and operational costs. This means that even modest improvements in developer productivity through automation can drive significant ROI.
GitHub Actions, as a powerful automation and continuous integration service within GitHub, enables developers to automate workflows, run tests, and streamline deployment processes. Through this lab, you will gain hands-on experience with essential automation workflows, commonly used in professional software development environments.
Task#
You will complete the following interactive courses provided by the GitHub Team through GitHub Classroom.
Note
The first task in Lab 2 does not use GitHub Actions, it is a continuation of your understanding of GitHub and common GitHub workflows (which was the focus of Lab 1).
Task |
Invitation |
Points |
|
---|---|---|---|
1 |
Release-based Worfklow |
25 |
|
2 |
Hello GitHub Actions |
30 |
|
3 |
Test with Actions |
25 |
|
4 |
Publish Packages |
20 |
Warning
In step 1 of Publish Packages, the instructions currently say:
7. Replace YOURNAME with your username.
This is incorrect. You must replace YOURNAME/publish-packages
with your GitHub repository’s exact location (e.g., UC3093C/lab-2-publish-packages-YOURNAME
).
Grading#
For each task, full points will be awarded only for complete tasks. Zero points will be given for partial completion or no attempt.
Submission#
After completing all tasks, you must submit the URLs for the GitHub repositories containing your completed work. Submit these URLs through the Canvas Assignment provided for this lab.
Important
All GitHub repositories must reside in the UC3093C GitHub organization, as created by the GitHub Classroom link. Do not create repositories manually.