Summary and Schedule
This is a Byte-Sized RSE lesson on Continuous Integration, part of the Byte-Sized RSE Series.
Learning Objectives
At the end of this lesson, learners should be able to:
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. Introduction |
What is automation in the context of software development, and why is it
beneficial? How does Continuous Integration (CI) enhance the software development process? What tasks can be automated using CI? Why is integrating small code changes regularly preferable to integrating large changes infrequently? How can CI be extended to Continuous Delivery (CD) for automating deployment processes? |
| Duration: 00h 15m | 2. Example Code |
How do I setup a virtual environment and run tests using
pytest?How do I verify code correctness before setting up automatic CI? |
| Duration: 00h 25m | 3. Defining a Workflow |
What does a GitHub Actions workflow look like? How do I describe a workflow using YAML? How can I create a workflow that runs tests automatically? |
| Duration: 00h 35m | 4. Tracking a Running Workflow |
How can I see whether my GitHub Actions workflow is running? Where can I find the logs for each workflow step? How do I know which commit triggered a workflow run? |
| Duration: 00h 45m | 5. Build Matrices |
What is a build matrix in GitHub Actions? How can I test my code across multiple versions of Python and multiple operating systems? How does GitHub Actions run matrix jobs and report their results? |
| Duration: 00h 55m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
- Shell with Git version control tool installed and the ability to navigate filesystem and run commands from within a shell
- Python version 3.8 or above installed
- Understanding of Python syntax to be able to read code examples
- Pip Python package installer
- Visual Studio Code installed (ideally the latest version)
- Account on GitHub.com
Shell with Git
On macOS and Linux, some version of a shell (e.g. bash)
with Git will be available by default and no installation is needed.
If you do not have a bash shell installed on your system and require assistance with the installation, you can take a look at the instructions provided by Software Carpentry for installing shell and Git.
Python
Python version 3.8 or above is required. Type python -V
(or python3 -V on Mac) at your shell prompt and press enter
to see what version of Python is installed on your system. If you do not
have Python installed on your system and require assistance with the
installation, you can take a look at the
instructions provided by Software Carpentry for installing Python in
preparation for undertaking their Python lesson.
Pip
Pip Python package should come together with your Python
distribution. Try typing pip (or pip3 on Mac)
at the command line and you should see some usage instructions for the
command appear if it is installed.
VS Code
The hands-on part of this topic will be conducted using Visual Studio Code (VS Code), a widely used IDE. Please download the appropriate version of Visual Studio Code for your operating system (Windows, macOS, or Linux) and system architecture (e.g., 64-bit, ARM).