About CI

NA for CI

It works on my computer is a common phrase we hear from programmers when QA or the user finds an issue. Continuous Integration (CI) helps preventing that even if there is only one developer.

If there are more than one developers or if sometime we receive contributions in forms of a Pull-Request we need a way to give prompt feedback and to verify that the changes made by different people don't have negative impact on each other. CI can help doing that.

There are several hosted systems out that that can be used as platform to run Continuous Integration. GitHub provides GitHub Actions, GitLab has GitLab Pipelines. (TODO: list others here) If you see NA in the CI column this means that we either could not access your repository or that we could not identify any CI system in it. For projects on GitHub we check for YAML files in the .github/workflows/ folder. For projects on GitLab we check for the existence of the .gitlab-ci.yml file.

In order to make any CI useful, first you need to have some tests, but that's a separate issue. For now we assume the crate already have some tests.

If you are the author of the crate and you already have CI in other crates, then you probably already know what to do, right?

If you are the author, but you don't have any projects with CI yet or if you are not the author and just wants to help then in order to add CI first look at other crates what they do and try to implement that. TODO: Analyze what are the common patterns for CI in Rust and recommend them here.