blob: 385af3434b972f05eecabb2ebb9c709852ca875f [file] [log] [blame] [view]
Davide Pesavento27dd70c2022-08-19 16:24:28 -04001# Continuous Integration Scripts
Alexander Afanasyev6e64ac92018-06-14 17:25:38 -04002
Davide Pesavento27dd70c2022-08-19 16:24:28 -04003## Environment Variables
Alexander Afanasyev6e64ac92018-06-14 17:25:38 -04004
Davide Pesavento27dd70c2022-08-19 16:24:28 -04005- `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 Afanasyev6e64ac92018-06-14 17:25:38 -04008
Davide Pesavento27dd70c2022-08-19 16:24:28 -04009- `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 Afanasyev6e64ac92018-06-14 17:25:38 -040012
Davide Pesavento27dd70c2022-08-19 16:24:28 -040013 Examples:
Alexander Afanasyev6e64ac92018-06-14 17:25:38 -040014
Davide Pesavento27dd70c2022-08-19 16:24:28 -040015 - On CentOS, `ID_LIKE="centos rhel fedora linux"`
16 - On Ubuntu, `ID_LIKE="ubuntu debian linux"`
Alexander Afanasyev6e64ac92018-06-14 17:25:38 -040017
Davide Pesavento27dd70c2022-08-19 16:24:28 -040018- `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 Afanasyev6e64ac92018-06-14 17:25:38 -040020
Davide Pesavento27dd70c2022-08-19 16:24:28 -040021- `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 Afanasyev6e64ac92018-06-14 17:25:38 -040025
Davide Pesaventoec61b742020-04-18 01:00:12 -040026 - empty: default build task
Davide Pesavento27dd70c2022-08-19 16:24:28 -040027 - `code-coverage`: debug build with tests and code coverage analysis
Davide Pesaventoec61b742020-04-18 01:00:12 -040028 - `limited-build`: only a single debug build with tests
Alexander Afanasyev6e64ac92018-06-14 17:25:38 -040029
Davide Pesavento27dd70c2022-08-19 16:24:28 -040030- `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 Afanasyev6e64ac92018-06-14 17:25:38 -040032
Davide Pesavento27dd70c2022-08-19 16:24:28 -040033- `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