CI/CD with Copilot and GitHub Actions
Learn how to set up a professional CI/CD pipeline for a Python CLI app, using GitHub Actions and GitHub Copilot.
CI/CD for notes CLI app
You’re a developer on a team maintaining a Python-based command-line tool: Notes CLI
. So far, development has been manual; developers clone the repo, run the code locally, and share updates via pull requests.
But now, the team wants to:
Automatically test the app on every commit or PR.
Run the workflow on different Python versions.
Cache dependencies to speed up builds.
Eventually, automate deployment to a package registry like PyPI.
Your goal is to build a complete multi-stage CI pipeline using GitHub Actions, leveraging Copilot to help you every step of the way.
Clone the repository
You will build a CI/CD workflow for the Notes CLI
app. But first, you need to get the project locally and fork it so you can work on your copy.
Clone the public repository
In your terminal, run:
gh repo clone Educative-Content/Notes-CLI-Appcd Notes-CLI-App
Fork the repository
You should fork the repository:
gh repo fork --clone=true
This will:
Create a copy of the repository in your own GitHub account.
Clone it locally, automatically switching your
origin
to your fork.Set the original repo as
upstream
(you’ll pull from here if updates happen later).
Verify your remotes:
git remote -v
Create your first GitHub actions workflow
Now that your workspace is set up, it’s time to automate your first CI check using GitHub Actions.