docs/developer_guide/github_workflows.md
Every software project has repetitive tasks that must run consistently:
schema.json and examples, build executables for 4 platforms, build package, upload to PyPI, publish Docker imageYou could do these manually. But manual means:
schema.json? Did I build the Windows executable?")What if you could write down these tasks once, and have them run automatically every time?
That's what CI/CD (Continuous Integration/Continuous Deployment) is. And GitHub Actions is GitHub's platform for it.
GitHub actions are automation scripts that run on GitHub's servers when certain events happen.
You define them in .github/workflows/*.yaml files. Each file describes:
GitHub reads these files and executes them automatically when the triggering events occur.
Why GitHub's servers? Because you don't want to worry about it. Push your code, turn off your computer, you're done. GitHub handles the rest (running tests, deploying docs, building packages) without you having to keep your machine on or manually run anything.
RenderCV has 4 workflows. Each handles a specific automation task.
How workflows start: Every workflow begins the same way: clone the repository, install uv, install just, then run some just commands. This recreates the same environment you'd have locally (see Setup).
test.yaml: Run TestsWhen it runs:
main branchWhat it does:
just test-coverage across 9 different environments (3 operating systems × 3 Python versions: 3.12, 3.13, 3.14)deploy-docs.yaml: Deploy DocumentationWhen it runs:
main branchWhat it does:
just build-docscreate-executables.yaml: Create ExecutablesWhen it runs:
What it does:
just create-executable for 4 platforms:
These are single-file executables that users can download and run without installing Python.
release.yaml: Publish a ReleaseWhen it runs:
What it does:
This is the complete release pipeline. It orchestrates everything:
test.yaml to ensure everything worksuv, builds Python wheel and source distribution using uv buildcreate-executables.yaml for all platformspip install rendercv.github/workflows/ for RenderCV's workflow files