Jenkins master pulls the code from the remote GitHub repository every time there is a code commit.
It distributes the workload to all the Jenkins slaves.
On request from the Jenkins master, the slaves carry out, builds, test, and produce test reports.