Coding & Git

Continuous integration

Also called CI.

Continuous integration is the practice of committing code to a shared repository often, and building and testing those commits so errors show up sooner.

Example

You push a commit and open a pull request. A workflow installs the project and runs its tests. The pull request shows whether those tests passed. You still decide whether to merge.

Why it matters

GitHub's docs define it that way. Committing more often leaves less new code to search when a test fails, and it makes changes from different people easier to combine. The tests can include linters, security checks, code coverage, functional tests, and other checks. Building and testing needs a computer. You can run the checks on your own machine before you push, or a CI server can watch the repository for new commits.

GitHub Actions is one way to run that practice. A workflow can build the code and run the tests on a machine GitHub hosts or one you host, when something happens in GitHub, such as a push, or on a schedule. GitHub shows those results on the pull request. The docs say that when all CI tests in a workflow pass, the changes are ready to be reviewed or merged, and that when a test fails, one of your changes may have caused the failure. A finished check is evidence about that run. Merging is still a separate decision.

How it shows up on bot.ski

On bot.ski, pull requests and pushes to main run a GitHub Actions workflow in this repository. The workflow installs dependencies, typechecks, lints, runs the unit tests, and builds the site. It does not deploy. The public website does not show that run, and reading this page does not start a check.

Common confusion

Continuous integration is the practice. GitHub Actions is a platform that can run it, and a workflow file is the configuration for one run. A passing check does not merge the pull request by itself. A failed test does not by itself name the line that broke.

Sources

Updated October 3, 2026.

Cookie preferences