Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 1 | # Continuous Integration Scripts |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 2 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 3 | ## Environment Variables |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 4 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 5 | - `ID`: lower-case string that identifies the operating system, for example: `ID=ubuntu`, |
| 6 | `ID=centos`. See [os-release(5)] for more information. On macOS, where `os-release` is |
| 7 | not available, we emulate it by setting `ID=macos`. |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 8 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 9 | - `ID_LIKE`: space-separated list of operating system identifiers that are closely related |
| 10 | to the running OS. See [os-release(5)] for more information. The listed values are used |
| 11 | by the CI scripts to select the proper behavior for different platforms and OS flavors. |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 12 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 13 | Examples: |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 14 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 15 | - On CentOS, `ID_LIKE="centos rhel fedora linux"` |
| 16 | - On Ubuntu, `ID_LIKE="ubuntu debian linux"` |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 17 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 18 | - `VERSION_ID`: identifies the operating system version, excluding any release code names. |
| 19 | See [os-release(5)] for more information. Examples: `VERSION_ID=42`, `VERSION_ID=22.04`. |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 20 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 21 | - `JOB_NAME`: defines the type of the current CI job. Depending on the job type, the CI |
| 22 | scripts can perform different tasks. |
| 23 | |
| 24 | Supported values: |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 25 | |
Davide Pesavento | ec61b74 | 2020-04-18 01:00:12 -0400 | [diff] [blame] | 26 | - empty: default build task |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 27 | - `code-coverage`: debug build with tests and code coverage analysis |
Davide Pesavento | ec61b74 | 2020-04-18 01:00:12 -0400 | [diff] [blame] | 28 | - `limited-build`: only a single debug build with tests |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 29 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 30 | - `CACHE_DIR`: directory containing cached files from previous builds, e.g., a compiled |
| 31 | version of ndn-cxx. If not set, `/tmp` is used. |
Alexander Afanasyev | 6e64ac9 | 2018-06-14 17:25:38 -0400 | [diff] [blame] | 32 | |
Davide Pesavento | 27dd70c | 2022-08-19 16:24:28 -0400 | [diff] [blame^] | 33 | - `DISABLE_ASAN`: disable building with AddressSanitizer. This is automatically set for |
| 34 | the `code-coverage` job type. |
| 35 | |
| 36 | [os-release(5)]: https://www.freedesktop.org/software/systemd/man/os-release.html |